-
[Java] Wrapper class 관련java/Class.Interface.Method 2021. 12. 16. 13:22
Collection에는 객체를 담아야 한다.
primitive 타입은 객체가 아니라 Collection에 넣지 못한다.
primitive 타입이 객체로 변경된 것에 해당하는 클래스인 Wrapper클래스를 사용하여 Collection에 넣는다.
primitive타입이 객체 타입으로 변환된 클래스가 Wrapper 클래스
int타입의 Wrapper 클래스인 Integer 클래스만 확인해봄
int / Integer (int형 Wrapper 클래스) 간의 Boxing, Unboxing , AutoBoxing, AutoUnboxing
package wrapperclass; public class WrapperTest { public static void main(String[] args) { Integer integer1 = Integer.valueOf(30); // new Integer(30) deprecated since 9 Integer integer2 = 30; // auto boxing System.out.println("Integer integer1 = Integer.valueOf(30);"); System.out.println("Integer integer2 = 30;"); System.out.println(); // hashCode() System.out.println("integer1.hashCode(): " + integer1.hashCode()); System.out.println("integer2.hashCode(): " + integer2.hashCode()); System.out.println(); // toString() System.out.println("integer1.toString(): " + integer1.toString()); System.out.println("integer2.toString(): " + integer2.toString()); System.out.println(); // equals (인자가 null아니고, Integer타입이고, 같은 value를 가지면 true System.out.println("integer1==integer2: " + (integer1 == integer2)); System.out.println("integer1.equals(integer2): " + integer1.equals(integer2)); System.out.println(); int i1 = integer1; // auto unboxing //= int i1 = integer1.intValue(); int i2 = integer2; System.out.println("i1==i2: " + (i1 == i2)); } }
객체 배열 요소 defualt값은 null
public class ArrayTest { public static void main(String[] args) { Integer[] integers = new Integer[100]; System.out.println(integers[0].intValue()); } }
'java > Class.Interface.Method' 카테고리의 다른 글
[Java] 클래스 상속관계에서의 static 메서드 재정의 (0) 2022.02.06 [Java] Interface 나중 참고용 (0) 2022.02.05 [Java] 내부 클래스 (0) 2021.08.29 [Java] 익명 클래스 (0) 2021.08.28