본문 바로가기
Web Programing/JAVA

자바 String 강제 캐스팅

by 기록하는 초보 2024. 2. 29.
반응형

자바에서 문자열을 다른 기본 자료형으로 변경하는 것을 "강제 타입 변환"이라고 합니다. 이는 String 객체의 값을 기본 자료형 값으로 변환할 때 사용되는 방법입니다. String 값을 원하는 타입으로 변환하려 한다면, 해당 타입에 맞는 파싱 메소드를 사용해야 합니다. 

 

기본 자료형을 String(문자열)으로 변환하기

String.valueOf() 메소드를 사용하여 기본 자료형 값을 문자열로 변환할 수 있습니다.

int value = 123;
String str = String.valueOf(value);

 

String(문자열)을 기본형 타입으로 변환하기

강제 캐스팅은 원하는 데이터 타입으로 명시적으로 변환하는 것을 의미합니다. 문자열을 다른 기본 데이터 타입으로 변환하려면, java에서 제공하는 래퍼 클래스(wrapper class)의 파싱 메소드를 사용합니다. 예시를 통해 알아보겠습니다.

String → byte byte b = Byte.parseByte(str);
String → short short s = Short.parseShort(str);
String → int int i = Integer.parseInt(str);
String → long long l = Long.parseLong(str);
String → float float f = Float.parseFloat(str);
String → double double d = Double.parseDouble(str);
String → boolean boolean bool = Boolean.parseBoolean(str);

 

문자열을 정수로 변환하는 것은 특히 자주 사용되는 작업입니다. 두 가지 주요 방법이 있으며, 각각의 메소드 사용에 따라 반환되는 타입이 약간씩 다를 수 있습니다.

Integer.parseInt()

이 메소드를 통해 문자열을 기본형 int로 변환할 수 있으며, 유효하지 않은 숫자 포맷을 가진 문자열의 경우 NumberFormatException 예외를 발생시킵니다.

String str = "123";
try{
	int number = Integer.parseInt(str);
} catch (NumberFormatException e) {
	e.printStackTrace();
}

Integer.valueOf()

이 메소드 역시 문자열을 정수로 변환하지만, 반환 타입은 래퍼 클래스인 Integer입니다.

String str = "234";
Integer numberObject = Integer.valueOf(str);
int number = numberObject;

 

문자열을 기본형 데이터로 변환하는 과정에서는 반드시 예외 처리를 고려해야 합니다. 대표적으로 NumberFormatException이 있으며, 해당 예외는 잘못된 포맷의 문자열이 주어졌을 때 발생합니다. 이러한 예외를 적절하게 처리하지 않으면 프로그램이 중단될 위험이 있습니다. 자바에서 문자열을 다른 기본 자료형으로 변환하는 것은 필수적인 작업 중 하나입니다. 각 타입에 맞는 메서드를 사용하여 변환하며, 예외 상황에 대비하여 충분한 예외 처리 로직을 구현해야 합니다. 만약 변환 과정에서 문제가 발생한다면, 예외 처리로 적절한 대응을 하는 것이 중요합니다.

반응형