ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.