实现Serializable的类是可以序列化的类。
所谓序列化就是将一个类序列化为字符串,在以后可以将这个字符串反序列化为对应的类。
当然,还可以考虑使用google的gson来进行对象序列化。
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; /** * Created by cf on 17-6-15. */ public class Experiment implements Serializable { protected final static Logger LOGGER = LoggerFactory.getLogger(Experiment.class); private final static long serialVersionUID = 1; private final static String CHARSET_NAME = "ISO-8859-1"; /** * @brief 字符串反序列化为类 * @param serializedString * @return */ public static Experiment deserialized(String serializedString){ try { ByteArrayInputStream bis = new ByteArrayInputStream( serializedString.getBytes(CHARSET_NAME)); ObjectInputStream ois = new ObjectInputStream(bis); Experiment experiment = (Experiment) ois.readObject(); ois.close(); return experiment; } catch (Exception e) { LOGGER.info("deserialized error! serializedString is {}.", serializedString, e); Experiment experiment = new Experiment(); return experiment; } } /** * @brief 类序列化为字符串 * @return */ public String serialized() { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(this); oos.flush(); String serializedString = baos.toString(CHARSET_NAME); baos.close(); oos.close(); return serializedString; } catch (Exception e) { System.out.println(e); LOGGER.info("serialized error!", e); return ""; } } }