1

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

方法与类型中的另一个方法具有相同的擦除

其他人如何做到这一点?除了用不同的函数名称定义它们之外,还有其他解决方案吗?

4

4 回答 4

0

这是因为在字节码级别,通用被删除了,你基本上有一个对象列表..导致两个相同的方法签名。

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

于 2013-08-23T12:53:41.033 回答
0

制作一个通用列表,例如:-

List<> list= new ArrayList<>();

您可以在括号中写入任何参数 likeT,V,B或任何其他参数,然后稍后在 main 中将泛型参数定义为 asInteger或 as Double。一般T情况下使用。

阅读泛型以获得更好的理解。

于 2013-11-28T09:21:51.323 回答
0

您可以使它们像 List 一样通用,并且在实例化时只告诉您想要做什么。要么声明为列表,要么声明为列表。

于 2013-11-06T10:57:01.893 回答
-3

可能您可以将参数作为对象列表。在实现中,检查传递的对象的类类型,并有一个开关来处理整数和双精度的不同

如果这解决了您的问题,请接受/投票

于 2013-08-23T12:37:59.140 回答