package com.yang.generalType;
import java.util.ArrayList;
import java.util.List;
public class TestGeneralType {
/**
* @param args
*/
public static void main(String[] args) {
List<String> l1 = new ArrayList<String>(){ //这一段应该属于内部匿名类的一个例子,也是初始化的一种方式。
/**
*
*/
private static final long serialVersionUID = 1L;
{
add("a");
add("b");
add(doSomething()):
}
String doSomething(){return "Do something";} //可以自定义一些方法。
};
List<Integer> l2 = new ArrayList<Integer>();
List<Character> l3 = new ArrayList<Character>();
l2.add(1);
l2.add(2);
System.out.println(l1.getClass().getName());
System.out.println(l2.getClass().getName());
System.out.println(l3.getClass().getName());
System.out.println(l1.getClass() == l2.getClass());
System.out.println(l2.getClass() == l3.getClass());
}
}
不知道其中的原理,可以参考一个关于泛型的文章http://songfantasy.iteye.com/blog/977282。
输出结果:
com.yang.generalType.TestGeneralType$1
java.util.ArrayList
java.util.ArrayList
false
true