易截截图软件、单文件、免安装、纯绿色、仅160KB

java泛型


import java.util.*;
class Tiger{}
public class P378 {


public static void main(String[] args) {
//为什么可以这么做
List<String> ls=new Test1().makeArrayList(new Tiger());
}

}

class Test1<T>{
public List<T> makeArrayList(T t){
List<T> list=new ArrayList<T>();
list.add(t);
return list;
}
}

List<String> ls=new Test1().makeArrayList(new Tiger());这句为什么编译器不会报错
然而如果单独使用List<String> l=new ArrayList<T>();这样会报错 (其中T为泛型占位符)
希望大虾们帮忙解决



List <String> l=new ArrayList <T>(); 在前面声明的就是一个String类型的。List<String>,那就说这个集合里面就只能存放String类型的数据。(List<String> l = new ArrayList<String>())

new Test1().makeArrayList(new Tiger()); 这里返回的就是一个List<String> 的类型。所以不会报错了。。
List <String> ls=new Test1().makeArrayList(new Tiger()); 


用泛型能提高安全性 和效率。。

你肯定是受c++_里的泛型影响,在java中是不能这么用的
你应该好好的看下java编程思想里的泛型的章节。


泛型这种专用容器是在java5.0版本才支持的。你可以查看一下你的java版本

1楼说的对,要一致

Java code:
List <Strin


相关问答:

java如何控制远程Linux重启

我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢? ......

天津 招聘兼职(java struts2)

我们有项目想组建一个开发团队,
主要用 tomcat,java,struts2,我们的核心成员都是经验非常丰富的系统设计师,
如果您在天津,同时对java比较感兴趣,
可以加入我们。
希望要求
  1。爱好编程
......

怎么用Java实现定时执行某程序 - Java / Java SE

我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......

java 取字段名

select a.name as parename ,b.name as chliname,a.typeId as paretype,b.typeid as chlitype from prodkind a inner join prodkind b where a.typeId=b.parentId
查出来的字段名称不是 parename 而是name
se ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号