Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

숫자타입(Integer, Long 등)을 String으로 변환하기

별것 아니라고 생각하고 있었는데 왠걸 갑자기 하려니 은근히 해매게 되더라는;;;;

숫자타입을 String으로 바꾸려는데 당연하다고 생각했던 toString()으로는 숫자타입을 스트링으로 바꾸어 줄 수가 없었다.


int temp = 1;
String str = temp.toString();

이건 "Cannot invoke toString() on the primitive the type int"라는 에러가 난다. 당연하다고 생각한 게 안되니까 순간 당황....



머 쉽게 해결하려면


int temp = 1;
String str = "" + temp;

간단히는 이렇게 해결하면 된다. 공백 스트링과 이어붙혀서 스트링으로 만들어주면 된다. 하지만 먼가 세련(?)되지 못한 느낌? 편법같은 느낌? 찾아보니 있었다.





int temp = 1;
String str = String.valueOf(temp);


int temp = 1;
String str = Integer.toString(temp);

위 2가지 방법이 모두 사용가능하다. 앞에 얘기한 ""과 이어붙히는 것과 퍼포먼스의 차이가 있는지는 모르겠지만 보기에는 좀더 명시적이라고 할까나... 내가 느끼기엔 더 세련된 방법이다. 2가지 방법 모두 사용가능하고 Logn타입도 동일하게 사용이 가능하다.
2008/06/25 02:13 2008/06/25 02:13