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
相关问答:
我现在想用ssh整合来做一个论坛,但数据库方面不行,我主要不会涉及数据库,不知道发帖表,和回帖表要如何设计和区分。不知道谁有一个简单的思路,来设计这些表。谢谢了。
发帖和回帖用同一张表 。发帖 id user ......
我的开发的平台是Myeclipes6.0 + tomcat5.x + mysql
我所有的编码方式都是用的UTF-8
我只用了Strtus框架
在一个form中如下用的是post的提交方式:
<form class="form" action=&quo ......
Java code:
public static void main(String[] args)throws Exception {
String json="{\"installer_id\":\"00000003\",\"installer_name\":\"王五\& ......
我现在想知道一个不常用的java关键字,
不是volatile,transate;
有点象LocalThread类,但又不是,是个完全小写的关键字,好象是local...啥的;
原来见过几回;今天怎么也找不到了;
Locale
Locator
引用
Locale
L ......
public class Student{
//字段的定义
private String _number; //学号
private String _name; //姓名
private   ......