java - 无法从 T 转换为整数

标签 java generics

我已经尝试过一些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/

相关文章:

java - 奇怪的 DefaultTreeCellRenderer 行为,仅部分执行 getTreeCellRendererComponent()

java - 对 HashMap 中的值进行排序

java - 如何使用参数创建泛型类的实例

c# - 将字符串转换为泛型

java - 如何设计可用于模拟的私有(private)/ final方法?

java - HtmlUnit 代理问题

java - PixelGrabber 与 getRGB 哪个更快?

swift - 无法将类型 'String' 的值转换为预期的参数类型 '_?'

swift - 快速排序泛型集

amazon-web-services - 从 Swagger 错误导入 Amazon API Gateway - 不采用泛型