[英]Overload java method by List<>
我有代码,方法是用List<>
参数覆盖
RetrunType1 func(List<Type1> arg);
ReturnType2 func(List<Type2> arg);
和Type1!= Type2,但是该代码可以在jdk1.6.0_45上编译并正常工作。 我知道此示例无法编译和运行。 我怎么能理解?
这里的问题是所谓的类型擦除,您可以在此处阅读。 然而,简短的版本是Java编译器将删除通用参数,以使字节代码与以前的Java版本兼容。 所以这两种方法都有签名
RetrunType1 func(List arg);
ReturnType2 func(List arg);
因此对于Java而言,这些功能看起来几乎相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.