关于java里面Collection包括List,Map等初始化内部匿名类和泛型的一个例子

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章