java.io.ObjectOutputStream.write()의 인수로 사용된 비 Serializable 객체를 보고합니다. 그러한 호출은 런타임 예외를 발생시킵니다.
이 검사는 선언된 타입이 비 Serializable 객체가 아닌 이상 java.util.Collection 및 java.util.Map 타입의 객체는 Serializable이라고 가정합니다.
예:
public class IWantToSerializeThis {
public static void main(String[] args) throws IOException {
try(var stream = new ObjectOutputStream(Files.newOutputStream(Paths.get("output")))) {
// 경고 -- NotSerializableException이 발생하며 실패합니다
stream.writeObject(new IWantToSerializeThis());
}
}
}