Language/java

[Java] Generic

송 이 2024. 3. 22. 17:33
package generic;

import java.util.ArrayList;

public class BoxTest {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<String>();
		
		Box<String> b= new Box<>(); //<>안에는 객체자료형만 들어갈수있다.
		
		b.setData("Hello");
		//String s = (String)b.getData();
		String s = b.getData(); //제네릭을 쓰면 형변환을 안해도된다.
		System.out.println(s);
		
		
		
		Box<Integer> b1 = new Box<>();
		Integer n = 10; //int 객체자료형은 Integer 
		b1.setData(n);
		System.out.println(n);
		
		
//		Plastic plastic = new Plastic("플라스틱",5000);
//		b.setData(plastic);
//		Plastic p2 = (Plastic)b.getData(); //Plastic으로 형변환
//		System.out.println(p2);
		
		
		
	}

}​
package generic;

public class Box<T> {
	private T data;
	
	public void setData(T data) {
		this.data = data;
	}
	
	public T getData() {
		return data;
	}
}