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
相关问答:
<%@page language="java" contentType="text/html;charset=gb2312" import="java.sql.*"%>
<jsp:useBean id="db" class="wang.connectDB"/>
< ......
我的java applet 嵌入html后无法显示,而用appletviewer显示正常为什么,还有就是用html converter转化后可以显示,为什么?请大侠赐教!
HTML code:
<HTML>
<HEAD>
<TITLE>TEST.HTML< ......
我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......
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 ......