Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

chapter06 : generic 본문

JAVA/chapter22_generic

chapter06 : generic

GAWON 2023. 5. 30. 18:41
package org.joonzis.ex;

import java.util.Arrays;

class Basket<T>{	// 음식만 담을 수 있는 바구니
	private T[] foods;
	@SuppressWarnings("unchecked")
	public Basket(int length) {
		foods = (T[])(new Object[length]);
	}
	public void add(T food) {	// setter
		for(int i=0; i<foods.length; i++) {
			if(foods[i] == null) {
				foods[i] = food;
				break;
			}
		}
	}
	public T[] getFoods() {
		return foods;
	}
}
class Food{}
class Apple extends Food{}
class Banana extends Food{}
class Bread extends Food{}
class Computer{}
public class Ex06_generic {
	public static void main(String[] args) {
		
		Basket<Food> basket = new Basket<>(5);
		
		basket.add(new Apple());
		basket.add(new Banana());
		basket.add(new Bread());
		//basket.add(new Computer());
		//Food food = new Computer();
		
		System.out.println(Arrays.toString(basket.getFoods()));
		
	}
}

'JAVA > chapter22_generic' 카테고리의 다른 글

Test . Generic  (0) 2023.05.30
chapter05 : generic  (0) 2023.05.30
chapter04 : generic  (0) 2023.05.30
chapter03 : generic  (0) 2023.05.30
chapter02 : generic  (0) 2023.05.30