자바 기초 문법 - Wrapper 클래스

honeyricecake·2022년 5월 2일
0

학교 수업 - 자바

목록 보기
8/16

Wrapper 클래스란

자바의 기본 타입을 클래스화한 8개 클래스

byte - Byte
short - Short
int - Integer
long - Long
char - Char
float - Float
double - Double
boolean - Bolean

용도 - 기본 타입의 값을 객체로 다룰 수 있게 함

Wrapper 객체 생성 : valueOf()

기본 타입의 값으로 Wrapper 객체 생성

Integer i = Integer.valueOf(10);
Character c = Character.valueOf('c');
Double f = Double.valueOf(3.14);
Boolean b = Boolean.valueOf(true);

문자열로 Wrapper 객체 생성

Integer I = Integer.valueOf("10");
Double d = Double.valueOf("3.14");

Float객체는 double 타입의 값으로 생성'도' 가능

Float f = Float.valueOf((double)3.14);

주요 메소드

Wrapper 객체들은 거의 유사, 많은 메소드가 static 타입
Integer 클래스의 주요 메소드

static int parseInt(String s) : 문자열 s를 10진 정수로 변환한 값 리턴
static String toString(int i) : 정수 i를 문자열로 변환하여 리턴 (특별취급)

static Integer valueOf(int i) : 정수 i를 담은 Integer 객체 리턴
static Integer valueOf(String s) : 문자열 s를 정수로 변환하여 담고 있는 Integer 객체 리턴

Wrapper 활용

  1. Wrapper 객체에 들어있는 기본 타입 값 알아내기
int ii = i.intValue();
char cc = c.charValue();
double dd = d.doubleValue();
boolean bb = b.booleanValue();

문자열을 기본 데이터타입으로 변환 : 클래스.parse자료형("")

int i = Integer.parseInt("123");
double f = Double.parseDouble("3.14");

기본타입을 문자열로 변환 : toString 함수

Character 클래스 메소드

isDigit(char ch) : 문자 ch의 값이 숫자인지 판단
isAlphabetic(int codePoint) : codePoint의 값이 알파벳인지 판단
isLowerCase(char) : 소문자인지 확인 (true / false)
isWhitespace(char) : 공백문자인지 확인
toLowerCase(char) : 소문자로 변경
isUpperCase(char) : 대문자인지 확인
toUpperCase(char) : 대문자로 변경

[예제]

public class WrapperTest {

	public static void main(String[] args) {
		System.out.println(Character.toLowerCase('A'));
		char c1 = '4', c2 = 'F';
		
		if(Character.isDigit(c1))
		{
			System.out.println(c1 + "는 순자입니다.");
		}
		
		if(Character.isAlphabetic(c2))
		{
			System.out.println(c2 + "는 영문자");
		}
		
		System.out.println(Integer.parseInt("-123"));

	}

}

박싱과 언박싱

박싱(boxing)
기본 타입의 값을 Wrapper객체로 변환

언박싱(Unboxing)
Wrapper 객체에 들어 있는 기본 타입의 값을 빼내는 것

ex.
Interger ten = Integer.valueof(10);
int n = ten.intValue();

JDK 1.5부터 자동박싱과 언박싱

Integer ten = 10;
int n = 10;

0개의 댓글