我想为我的学生们做一个愚蠢的榜样,但是不知道我能否做我想做的事
我想用泛型做abs方法。
我的想法与此类似:
public class MiMath {
public static <T extends Number> T abs(T objeto) {
if (objeto.doubleValue()<0)
return (T) -objeto.doubleValue();
else
return objeto;
}
}
在这个阵容中
return (T) -objeto.doubleValue();
月食说(T)不是类型
最佳答案
问题在于,您在此处使用(T)所做的实际上不是强制转换,在幕后它使用自动装箱并调用T.valueOf()-泛型不知道。
对于泛型的一个很好的例子,您最好使用集合之类的东西(因为它们也是人们最有可能使用它们的地方)。