이것은 바이트 배열로 직렬화 될 클래스입니다.ObjectOutput는 java.io.NotSerializableException을 슬로우한다
public class DummyClass implements Serializable
{
private static transient final long serialVersionUID = -8483859843874771619L;
public String y;
public DummyClass(String y)
{
this.y = y;
}
public String getY()
{
return this.y;
}
}
이 스택 추적에 대한 직렬화 실행 테스트
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = null;
byte[] bs = null;
try
{
DummyClass dummyClass = new DummyClass("World I Salute you");
out = new ObjectOutputStream(bos);
out.writeObject(dummyClass); // <--- Throws exception here
bs = bos.toByteArray();
}
finally
{
out.close();
bos.close();
}
하고 있습니다 : 뻔한 질문은 내가 무슨 일을하고있다
java.io.NotSerializableException: tests.DummyClassTest
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at tests.DummyClassTest.dummyTest(DummyClassTest.java:109)
?
건배.
EDIT :
학급 전체
public class DummyClassTest
{
public class DummyClass implements Serializable
{
private static transient final long serialVersionUID = -8483859843874771619L;
public String y;
public DummyClass(String y)
{
this.y = y;
}
public String getY()
{
return this.y;
}
}
@Test
public void dummyTest() throws IOException
{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = null;
byte[] bs = null;
try
{
DummyClass dummyClass = new DummyClass("World I Salute you");
out = new ObjectOutputStream(bos);
out.writeObject(dummyClass);
bs = bos.toByteArray();
}
finally
{
out.close();
bos.close();
}
}
}
나는이 생각하지 않습니다에 대한 것은 모든 관련 코드입니다. DummyClassTest는 어디에 정의되어 있습니까? – Perception
당신은'DummyClassTest'를 의미합니다.이 코드는 모두이 클래스에 있습니다. JUnit 테스트입니다. –
DummyClassTest의 붙여 넣기 코드 –