首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java泛型重载的有关问题

2013-06-25 
java泛型重载的问题有个问题非常疑惑:下面这两个方法编译不通过,但是网上查询的资料都表示这两个方法是能

java泛型重载的问题
有个问题非常疑惑:
下面这两个方法编译不通过,但是网上查询的资料都表示这两个方法是能通过编译的,求高手解释
 public Integer test(ArrayList<Integer> al) {
        return null;
    }
 
public String test(ArrayList<String> al) {
        return null;
    }
[解决办法]
jdk1.5以后编译应该没有问题的。
这就是普通的泛型啊。
[解决办法]
这是可以通过的呢,普通的泛型使用...贴错误信息来看看...
[解决办法]
你用的是eclipse的编译器,还是JDK的?eclipse自带的可能会有问题。

泛型的信息是在编译期存在,运行期抹去的。
比如:test (new ArrayList<Integer>());
在编译的时候,某些聪明的编译器知道test指向的是哪个版本的test,就直接静态地把这个test调用指向正确的test函数。某些编译器会报错。我没用eclipse的编译器试过(intellij死忠),不过原因是编译器,不是语法本身

热点排行