Java Raw type

    最近看Java Language specification,看到第四章,感觉有很多东西自己以前都不曾注意,所以建议学Java的同学都看看,真的是查漏补缺。 下面说说Raw Type:public TClass<E>{
  public List<String> getString(){
  
return null;
  }
  
public static void main(String args[]){
     TClass tc 
= TClass();
     List
<TClass> list = tc.getString(); //1
  }
}
   1处就很奇怪了,为什么getString命名返回的是List<String>而将其赋值给List<TClass>类型都可以呢?这就是编译器对Raw type进行了处理,编译器将Raw type进行擦除,就是将其参数类型中的参数全部去掉,例如List<String>将擦除成List,所以tc.getString()返回的是List而不是List<String>。

posted on 2011-04-20 14:56 sevenguin 阅读(1849) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜