Generics

조상원·2025년 8월 2일

JAVA

목록 보기
26/34
  • 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법
  • 객체별로 다른 타입의 자료가 저장
  • 타입 파라미터는 대문자 한 글자로 표현

E - Element

K - Key

V - Value

T - Type

N - Number

R - Result

public class Application {
    public static void main(String[] args) {
        String[] names = {"홍길동", "성춘향", "이몽룡", "김철수", "김영희"};
        Integer[] numbers = {1, 2, 3, 4, 5};
        Double[] doubles = {1.1, 2.2, 3.3, 4.4, 5.5};

//        ArrayToListConverter converter = new ArrayToListConverter(names);
//        ArrayToListConverter converter = new ArrayToListConverter(numbers);
//        ArrayToListConverter converter = new ArrayToListConverter(doubles);
//        ArrayToListConverter<String> converter = new ArrayToListConverter<String>(names);
//        ArrayToListConverter<Integer> converter = new ArrayToListConverter<>(numbers);
        ArrayToListConverter<Double> converter = new ArrayToListConverter<>(doubles);
        converter.print();
        System.out.println();

        System.out.println(converter.toList());
//        converter.toList().forEach(System.out::println);
        System.out.println();

    }
}
public class ArrayToListConverter<T> {
    private final T[] values;

    public ArrayToListConverter(T[] values) {
        this.values = values;
    }

    public void print(){
        for(T value : values){
            System.out.println(value);
        }

    }

    public List<T> toList(){
        List<T> list = new ArrayList<>();

        for(T value : values){
            list.add(value);
        }
        return list;
    }
}

0개의 댓글