generic

package net.jeongsam.collection;

import java.util.*;

class GenericEx01 {

	/**
	 * @param args
	 */
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		/*
		 * Java 1.4 이하 버전
		 */
		List l = new ArrayList();
		
		l.add("홍길동");
		l.add(new Integer(123));
		l.add(new Pet("토끼"));
		
		System.out.println((String)l.get(0));
		System.out.println(((Integer)l.get(1)).intValue());
		System.out.println(((Pet)l.get(2)).getName());
		
		/*
		 * Java 5.0 이상
		 */
		
		List<String> generL = new ArrayList<String>();
		
		generL.add("홍길동");
		generL.add("홍진성");
		
		System.out.println(generL.get(0));
		System.out.println(generL.get(1));
		
		List<Integer> generInt = new ArrayList<Integer>();
		
		// Auto boxing
		/*
		 * Integer i = new Integer(100); // Wrapper Class 이용하여 객체로 boxing
		 * generInt.add(i); // 객체를 ArrayList에 추가
		 */
		generInt.add(100);
		generInt.add(200);

		// Unboxing
		/*
		 * Integer i = (Integer)generInt.get(0); // Down casting하여
		 *                              // Object 타입을 Integer 타입으로 변경
		 * System.out.println(i.intValue()); // 객체에서 원시타입 꺼냄
		 */
		System.out.println(generInt.get(0));
		System.out.println(generInt.get(1));
	}

}

+ Recent posts