String.valueOf() 매소드는 다른 타입의 데이터를 String타입으로 변환하는 것이다.
String.valueOf() 매소드를 사용해서 데이터 변환시 실효성은 어느정도 일까?
1. 아래 두가지 중 어느것이 속도가 빠를가????
1번: varTest = ""+3;
2번: varTest = String.valueOf(3);
일단 결과는 같게 나온다.
테스트 해보신분들이 많이 계시겠지만....거의 .. 아니 판단하기 힘들정도로 차이가 없다
회사마다 코딩 표준안이 있겠지만, 대부분 2번을 추천한다.
추상적인 이유 일 수도 있겠지만 1번은 빈 String에 다른 타입의 데이터를 + 로 연결시 효율성이 떨어진다.
빈문자열에 String을 +로 연산시 컴파일러에서 데이터 타입 판단 작업이 발생하는것 같다.소스를 까보지는 않았지만 ㅡ_-
2. 그럼 아래의 경우는?
1번: varTest = "0"+3;
2번: varTest = "0"+String.valueOf(3);
이 경우는 "0" 자체가 빈 String이 아니므로 이후에 + 연산자로 붙는 데이터는 String으로 인식한다.
불필요하게 String.valueOf()메소들 사용 할 필요 없다고 한다.
불필요하게 String.valueOf()메소들 사용 할 필요 없다고 한다.
미비한 차이가 발생하도록 테스트 결과 1번이 아주 약간 성능이 좋았다.
코딩 가이드라인을 결정할때 윗 2가지 경우
가독성과 컴파일러의 효율성을 고려해서 번거롭더라도 상황에 맞게 정하는것이 좋을것 같다.
* code inspection tool(PMD)에서 기본적으로 제공하는 ruleset은 아래와 같이 가이드라인을 제시한다.
코딩 가이드라인을 결정할때 윗 2가지 경우
가독성과 컴파일러의 효율성을 고려해서 번거롭더라도 상황에 맞게 정하는것이 좋을것 같다.
* code inspection tool(PMD)에서 기본적으로 제공하는 ruleset은 아래와 같이 가이드라인을 제시한다.
1. 아래 두가지 중 어느것이 속도가 빠를가????
1번: varTest = ""+3; (X)
2번: varTest = String.valueOf(3); (O)
2. 그럼 아래의 경우는?
1번: varTest = "0"+3; (O)
2번: varTest = "0"+String.valueOf(3); (X)
'프로그래밍언어 > 패턴, 알고리즘, 프로토콜' 카테고리의 다른 글
CSV (Comma Separated Values) (0) | 2010.07.28 |
---|---|
구글맵 API (Static Maps API V2) (0) | 2010.07.02 |
싱글턴 Singleton Pattern (0) | 2010.06.09 |
안드로이드(Android) 컨퍼런스 후기 (0) | 2010.05.04 |
jvm terminated exit code -1 (0) | 2010.04.06 |
댓글