selfstarter

JAVA Wrapper class 본문

Server/Java

JAVA Wrapper class

selfstarter 2020. 1. 7. 20:14

Wrapper class

Wrapper class란?

  • 기본자료형을 객체로 인식되도록 만든 class
  • 기본 타입보다 유연하게 사용할 수 있다(함수 인자를 Object 형으로 받을 경우 유용, 편리함한 Wrapper function들..)

Wrapper function

  • String -> 기본자료형 : Integer.parseInt(String);
  • String -> Wrapper 자료형: Integer.valueOf(String);
  • Wrapper class Byte Size : WrapperClass.BYTES

public class Main {

    public static void main(String[] args) {
        Integer num = new Integer(8);
        System.out.println(num.floatValue());        // Integer 자료형을 float으로 변환

        int basicInt = Integer.parseInt("5");         // 문자열에서 기본 자료형으로 변경 시 parse자료형() 함수        
        // 문자열에서 wrapper class로 변경 시 valueOf 함수
        String convertToByte = "1";
        String convertToBoolean = "true";
        String convertToShort = "100";
        String convertToInteger = "1000";
        String convertToLong = "1000000";
        String convertToFloat = "3.4";
        String convertToDouble = "1.63434234";
        Byte byteValue = Byte.valueOf(convertToByte);
        Boolean booleanValue = Boolean.valueOf(convertToBoolean);
        Character characterValue = Character.valueOf('a');
        Short shortValue = Short.valueOf(convertToShort);
        Integer integerValue = Integer.valueOf(convertToInteger);
        Long longValue = Long.valueOf(convertToLong);
        Float floatValue = Float.valueOf(convertToFloat);
        Double doubleValue = Double.valueOf(convertToDouble);

        // 같은지 비교
        System.out.println("byteValue:"+byteValue);
        System.out.println("booleanValue:"+booleanValue);
        System.out.println("characterValue:"+characterValue);
        System.out.println("shortValue:"+shortValue);
        System.out.println("integerValue:"+integerValue);
        System.out.println("longValue:"+longValue);
        System.out.println("floatValue:"+floatValue);
        System.out.println("doubleValue:"+doubleValue);

        // Wrapper 크기 확인
        System.out.println("Byte size:"+Byte.BYTES);                // 1byte
        System.out.println("Character size:"+Character.BYTES);        // 2byte
        System.out.println("Short size:"+Short.BYTES);                // 2byte
        System.out.println("Integer size:"+Integer.BYTES);            // 4byte
        System.out.println("Long size:"+Long.BYTES);                // 8byte
        System.out.println("Float size:"+Float.BYTES);                // 4byte
        System.out.println("Double size:"+Double.BYTES);            // 8byte

        // String 함수
        String text = " Hello World! ";
        System.out.println("문자열이 없는지:"+text.isEmpty());
        System.out.println("hello~와 문자열이 같은지:"+"hello~".equals(text));
        System.out.println("문자열 공백 제거:"+text.trim());                // 앞 뒤만 제거. 중간은 제거못함>정규화 필요
        System.out.println("문자열 소문자->대문자:"+text.toLowerCase());
        System.out.println("문자열 대문자->소문자:"+text.toUpperCase());

        funcBasic(1);
        funcWrapper(new Integer(1));

        // autoboxing, unboxing
        funcBasic(new Integer(3));
        funcWrapper(3);
    }

    static public void funcBasic(int num) {
        System.out.println(num);
    }

    static public void funcWrapper(Object obj) {
        System.out.println(obj);
    }
}
Comments