繁体   English   中英

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

[英]How to write a overloaded function which can accept List<Integer> or List<Double> in java?

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

方法具有与另一种方法相同的擦除

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

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

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

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

制作一个像这样的通用列表:

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

您可以在方括号中编写任何参数,例如T,V,B或其他任何参数,然后在主体中随后将通用参数定义为IntegerDouble 通常,使用T

阅读泛型以更好地理解。

可能您可以将参数作为“对象列表”。 在实现中,检查传递的对象的类类型,并对整数和双精度进行切换以处理不同的对象

如果可以解决您的查询,请接受/投票

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM