-
TIL 130일 - 자바 제네릭공부/Java와 Spring 2022. 5. 8. 17:35
제네릭을 머리로는 이해하고 있었는데 코드로 쳐본적이 없다 보니 좀 헷갈렸다.
아래처럼 쓰면 된다.
public class Main { public static void main(String[] args) { ValueClass<String> stringValueClass = new ValueClass<String>("asd"); System.out.println(stringValueClass.getValue()); ValueClass<Integer> integerValueClass = new ValueClass<Integer>(123); System.out.println(integerValueClass.getValue()); ValueClass<Boolean> booleanValueClass = new ValueClass<Boolean>(true); System.out.println(booleanValueClass.getValue()); } }
public class ValueClass<T> { private final T asd; public ValueClass(T asd) { this.asd = asd; } public T getValue() { return asd; } }
그럼 여러 개 타입을 입력 받을 때는?
public class Main { public static void main(String[] args) { ValueClass<String, Integer, Boolean> stringValueClass = new ValueClass<>("asd", 123, true); System.out.println(stringValueClass.getFristField()); System.out.println(stringValueClass.getSecondField()); System.out.println(stringValueClass.getThirdField()); } }
public class ValueClass<T, F, S> { private final T firstField; private final F secondField; private final S thirdField; public ValueClass(T firstField, F secondField, S thirdField) { this.firstField = firstField; this.secondField = secondField; this.thirdField = thirdField; } public T getFristField() { return firstField; } public F getSecondField() { return secondField; } public S getThirdField() { return thirdField; } }
이렇게 하면 된다.
'공부 > Java와 Spring' 카테고리의 다른 글
TIL 143일 - Java Lambda 파라미터 (0) 2022.05.21 TIL 134일 - 주저리주저리 (0) 2022.05.12 TIL 129일 - Spring Method Mock (0) 2022.05.08 TIL 128일 - Java Function (0) 2022.05.06 TIL 118일 - java 짜잘짜잘 (0) 2022.04.27