我已经尝试过一些Java泛型的方法,但是这个问题似乎无法解决!
由于抽象父类(super class),我必须实现一个方法,将两个 T 类型的值相加(如果它们是 Integer)并返回 T 类型的结果。
public T evaluate(T left, T right) {
if(left instanceof Integer && right instanceof Integer){
return (((Integer)left) + ((Integer)right));
}else{
return null;
}
}
这就是我到目前为止所做的一切,因为 Eclipse 总是告诉我,Java 无法从 Integer 转换为 T。
如何强制 Java 转换为 T? 或者有没有可能写两个方法?一种用于 T 扩展整数,另一种用于非扩展整数?
最佳答案
在这种情况下似乎不需要泛型,因为方法 evaluate()
仅处理一种特定类型 (Integer
) 并返回该特定类型(同样,Integer
)
关于java - 无法从 T 转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20615044/