반응형
-
enum 은 기본적으로 serializable 하다.
-
enum 의 serialization 은 다른 serialization 과 조금 다르다.
enum 의 serialize 결과는 constant 의 이름뿐이다.
enum serialize 시 ObjectOutputStream 에서는 'name' 함수의 return 값을 사용하고,
enum 의 deserialize 시 ObjectInputStream 에서 constant name 을 읽어서 'valueOf' 함수를 이용해 enum constant 를 얻는다.
따라서 enum 이 변경 가능한 private field 를 가지고 있다면.. 변경된 값이 써지거나 복구되지 않는다.
-
enum 의 serialization 은 customize 될 수 없다.
serialize 관련된 다음 함수들은 serialize 과정에서 무시된다.
writeObject, readObject, readObjectNoData, writeReplace, readResolve
-
enum 의 serialVersionUID 는 0L 로 고정이다.
-
참고 링크 : https://docs.oracle.com/javase/1.5.0/docs/guide/serialization/spec/serial-arch.html#enum
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] Dependency conflict 해결하기 (0) | 2018.03.15 |
---|---|
[android] 잘 쓰지 않지만 유용한 android library 들 ( Spell Checker,Text Recognizer, TimeLogger, MediaProjection, PDF Creation ) (0) | 2018.03.14 |
[android] png 기반 GIF 를 바탕으로 VectorDrawable 로 치환해 animation 만들기 (0) | 2018.03.12 |
[android] library 를 dependency 에 명시할 수 있게 배포하기 (0) | 2018.03.11 |
[android] RxAndroid 맛보기 (0) | 2018.03.10 |
댓글