(Java/자바) 숫자를 문자열로 변환 - toString(), valueOf()

이번 포스팅에서는 숫자를 문자열로 변환하는 방법에 대해 알아보려합니다.

문자열을 숫자로 변환하는 방법은 아래 포스팅을 참고하시면 됩니다.

 

(Java/자바) 문자열을 정수로 변환 - parseInt(), valueOf()

문자열(String)을 정수로 변환하는 작업은 자주 있는 일입니다. 반대로 정수를 문자열로 변환하는 것도 마찬가지겠죠 이번 포스팅에선 문자열을 정수로 변환해주는 메서드 parseInt() 와 valueOf() 에

hstory0208.tistory.com

 

숫자를 String으로 변환하는 방법은 총 3가지가 있습니다.

toString(), valueOf() 그리고 간단하게 빈 문자열과 int를 '+' 연산자로 연결하여 문자열로 변환하는 방법.

하나씩 알아보겠습니다.


 

Integer.toString()

.toString()에 변환하고자 하는 정수를 넣어 문자열로 반환합니다.

public class toString {
	public static void main(String[] args) {
        int int1 = 1234;        
        int int2 = -1234;         
        
        String str1 = Integer.toString(int1);        
        String str2 = Integer.toString(int2);         
        
        System.out.println("String str1 : " + str1);        
        System.out.println("String str2 : " + str2);
	}
}

출력 결과


String.valueOf()

위와 똑같이 변환하고자 하는 정수를 넣어 문자열로 반환합니다.

public class StringvalueOf {
	public static void main(String[] args) {
        int int1 = 1234;        
        int int2 = -1234;         
        
        String str1 = String.valueOf(int1);        
        String str2 = String.valueOf(int2);         
        
        System.out.println("String str1 : " + str1);        
        System.out.println("String str2 : " + str2);
	}
}

출력 결과

 

이렇게 보면 차이가 없어 그냥 둘 중 아무거나 사용하면 될 것 같지만, 이 두 메서드도 차이점이 존재합니다.

두 메소드의 차이점은 바로 null 값에 따른 NullPointerException (NPE) 의 발생 유무입니다.

 

매개변수로 받는 값이 null일 시 toString()과 String.valueOf() 차이점.
  • toString() : null 값을 형 변환 시 NullPointerException(NPE)이 발생 / Object의 값이 String이 아니여도 출력합니다.
  • String.valueOf() : 파라미터로 null이 오면 "null"이라는 문자열을 출력합니다.

따라서 toString()은 null값을 형변환 하면 NPE 오류가 발생하기 때문에, NPE를 방지할 수 있는 String.valueOf()를 사용하는 것이 더 좋습니다.

 


int + ""

문자열에 int를 이어 붙이면 문자열이 리턴되는 속성을 이용한 간단한 방법입니다.

public class IntPlus {
	public static void main(String[] args) {
        int int1 = 1234;        
        int int2 = -1234;         
        
        String str1 = int1 + "";      
        String str2 = int2 + ""; 
        
        System.out.println("String str1 : " + str1);        
        System.out.println("String str2 : " + str2);
	}
}

출력 결과

 


참고자료
https://hianna.tistory.com/524

https://dev-coco.tistory.com/101