代码音符

为什么我的方法参数列表不一样也不能重载

创建时间: 6-21 16:36

浏览: 10

今天在实现某个业务时,遇到了个如下场景:

某方法需要支持传入不同类型的 List ,并根据传入的 List 的不同泛型分别进行不同的操作。

Result action(List<String> a);
Result action(List<Integer> a);

你觉得上面的代码能否通过编译?

答案是:不能。

在Java中,由于类型擦除的存在,泛型信息在编译后会被擦除,这意味着这两种方法签名在编译后看起来是相同的,故此代码不能通过编译。

创建时间: 6-21 16:36

浏览: 10

*本文遵循 CC BY-NC-SA 许可协议。转载请注明出处!