【发布时间】:2015-06-03 09:08:34
【问题描述】:
也许我的突触有一个结……
public static <T extends Number> T firstNonZero(T... values) {
for (T value : values) {
if (value.doubleValue() != 0.0) {
return value;
}
}
return (T) 0; // Cannot cast from int to T
}
我想我不需要解释上面的方法。我的问题是我需要“生成”T 类型的零。
我该怎么做?
【问题讨论】:
-
return Integer.class.cast(0)
-
如果找不到非零值,而不是零,甚至引发异常,难道不应该一个名为
firstNonZero的方法真的返回null吗? -
不能返回
null,那是没有意义的。
标签: java generics numbers autoboxing