我正在尝试编写一个脚本化的AI;并遇到了这个问题。在以下基类中,如何告诉x
它可以期待write
引用?
class Node <T0, T1, T2> {
Node() {
// More missing non-relevance.
}
T0 write(T1 x) {
T0.write(x.read());
}
T0 write(T2 x) {
T0.write(x.read());
}
}
编辑: 这是错误:
Parser.java:181: cannot find symbol
symbol : method read()
location: class java.lang.Object
P.S。或者我应该在C ++函数指针中执行此操作。
答案 0 :(得分:4)
在java中,您需要一个具有read方法的接口/类。你以太使用标准的(也许x是OutputStream
实现?)。否则,您将创建自己的界面。 (不得不解释很多,但也许下面的代码是有帮助的)
class Node <T0 extends OutputStream, T1 extends InputStream> {
T0 to;
Node(T0 to) {
this.to = to;
}
T0 write(T1 x) throws IOException {
to.write(x.read());
return to;
}
}