я следующий класс:Почему мой класс не сериализуем?
import java.awt.Color;
import java.util.Vector;
public class MyClass {
private ImageSignature imageSignature;
private class ImageSignature implements Serializable {
private static final long serialVersionUID = -6552319171850636836L;
private Vector<Color> colors = new Vector<Color>();
public void addColor(Color color) {
colors.add(color);
}
public Vector<Color> getColors() {
return colors;
}
}
// Will be called after imageSignature was set, obviously
public String getImageSignature() {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(imageSignature);
oos.close();
return String(Base64Coder.encode(baos.toByteArray()));
}
}
Когда я пытаюсь вызвать getImageSignature()
, я получаю NotSerializableException
- Почему это? Все члены сериализуемы, так почему я могу получить эту ошибку?
Является ли цвет типа java.awt.Color? – Lars
'java.awt.Color' и' java.util.Vector' –
Протестировал ваш код, и он работал без проблем. Вы очистили и перестроили полный проект перед запуском? –