有没有办法让泛型方法像处理数字一样处理其类型参数?例如,考虑一个方法,它接受任何数字并返回其值的两倍,同时保持输入类型。
static <T> T foo(T number) {
return number*2;
}
这不会编译,因为 *
没有为 T
定义和 int
.改变 T
至 <T extends Number>
没有帮助,类型转换 (T)2
也不编译。
最佳答案
泛型只适用于对象。您可以使用 Integer
、Double
等类,但不能将泛型与原始类型一起使用。
关于java - 数字类型的通用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136286/