I이 한 클래스 벡터 가변 상태를 갖는 그것 세터 기능는 속성
class State implement Serializable{
private Vector state;
//its getters and setters
}
에서 상태의 벡터리스트를 설정한다 State
을 class B
세션에서 State
클래스를 가져온 다음 동일한 State
개체에 할당 한 다음이 클래스에 writeObject
메서드를 사용합니다. Vector
그 구현 않기 때문에
class B {
State _state = (State) session.getAttribute("_stateKey");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(_state); // at this line i am getting java.io.NotSerializableException
}
...
'상태'에 어떤 유형의 객체를 저장하고 있습니까? 이러한 유형 중 하나가 직렬화 가능하지 않습니까? –
당신은'벡터'에 무엇을 넣고 있습니까? 당신이 거기에 넣는 객체는 역시'Serializable'이어야합니다. 그리고'Vector'는 레거시 컬렉션 클래스이기 때문에 사용하지 말아야합니다. 대신에'ArrayList'를 사용하십시오. 또한 제네릭을 사용하십시오. – Jesper
NotSerializableException은 어떤 클래스가 범인인지 정확하게 알려야합니다. –