關於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

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