我正在尝试创建一个模拟程序堆栈的类。是否可以创建此课程serializable
?我希望能够将其用作Akka
消息。谢谢!
public class ProgramStack<T>{
public final Queue<UnaryOperator<T>> programStack;
private T context;
ProgramStack(Queue<UnaryOperator<T>> programStack, T context) {
this.programStack = programStack;
this.context = context;
}
public void next() {
UnaryOperator function = programStack.poll();
function.apply(context);
}
public boolean hasNext() {
return !programStack.isEmpty();
}
}
答案 0 :(得分:1)
对于没有序列化方法的序列,您可以序列化具有行为的对象。无论如何为了能够序列化你必须实现Serializable。所有成员都必须这样做。如果查看doc https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html Queue没有实现Serializable,那么请确保对象实现Queue是否可序列化。我不知道T必须是什么,但是为了序列化ProgramStack类型的对象,还必须实现Serializable。
答案 1 :(得分:-4)
import java.io.Serializable;
public class ProgramStack<T> implements Serializable {
// etc etc
}