java - 如何在java中编写一个可以接受List<Integer>或List<Double>的重载函数?

标签 java overloading

我知道存在一些向后兼容性问题,并且编译器不允许这样做。

Method has the same erasure as another method in type

其他人是如何实现这一目标的?除了用不同的函数名称定义它们之外还有其他解决方案吗?

最佳答案

这是因为在字节码级别,泛型被删除,并且您基本上拥有一个对象列表......导致两个相同的方法签名。

但是如果符合您的要求,您可以使用 Integer[]Double[] 来代替,因为它们是不同的类型。

关于java - 如何在java中编写一个可以接受List<Integer>或List<Double>的重载函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18403048/

相关文章:

java - 复杂类型的缩减器中 ReadFields() 中的空缓冲区

java - Spring : XML Configuration Location

java - Lambda表达式和方法重载的疑惑

c++ - 类方法中对全局重载运算符的 undefined reference

java - MySql 数据在第 1 行的 'value' 列被截断

java - 如何在Android的默认图像查看器中打开图像

haskell - fromInteger 如何工作?

scala - 为什么是 "avoid method overloading"?

Python 3.5 - 使用 @overload 重载方法

java - Java中的递归谢尔宾斯基三角形?