ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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());
    	}
    }

     

    댓글

Designed by Tistory.