티스토리 뷰

EditText에 입력된 값을 DB에 넣어주기 위해서, Int to String 변환이 필요했다.

알고있는 방법은 두 가지로, toString과 String.valueOf였다. 문득, 현재 프로젝트에서 무엇을 쓰는것이 더 이득일까하는 생각이 들었다.

구글신에 검색하여 toString과 String.valueOf의 차이점에 대해 알아보았다. 간단한 코드와 함께 차이를 설명하겠다.

String str = null;
System.out.println(String.valueOf(str)); // null
System.out.println(str.toString()); // NullPointerException

String타입 변수 str에 null값을 넣어 초기화 해준 후, String변환 메소드 두 가지를 사용하여 출력하는 코드이다. 주석에 표시한 것과 같이 각각 null과 exception을 결과로 내준다. 결국 Null값에 따른 NullPointerException 발생 유무두 메소드의 차이점이다.

답이 나왔다. Null값이 들어있을 수 있는 변수에는 String.valueOf()를, 확실한 값이 있는 변수에는 toString()을 쓰면 된다. 지금 진행중인 프로젝트에서는 EditText에 값이 있는지 없는지를 한 번 체크를 해준 후 DB에 넣기 때문에 toString을 쓰면 된다.

 

하지만 하나 더 궁금한 것이 생겼다. 속도에서 차이가 나지 않을까? 역시 구글신에 검색하여 찾아보았다.

참고)  https://blog.opid.kr/453

위 블로거의 실험결과, valueOf가 toString보다 약간 더 빠르다고 한다. 자료가 생각보다 찾기힘들고 많지가 않아 위 블로그가 전부인 관계로 정확성에 있어서는 확신이 들지 않는다.

외에도 많은 사람들이 toString보다는 valueOf를 쓰는것을 추천하고 있다.

결론적으로는 String.valueOf()를 사용하는것이 좋을 것 같아 그러기로 했다.

'개발 > Android' 카테고리의 다른 글

[Android] 코드 세분화  (0) 2019.10.01
[Android] Animation - Translate, Alpha  (0) 2019.09.24
[Android] Bubble Picker  (0) 2019.05.23
댓글
공지사항