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