가끔 jave 나여야지 퍼즐 I have a 엄청난 양의 int 초기화 할 수 있습니다.
, 실제 what& # 39 의 차이?
1 (i) '' 안테거스토스트링. '새' 네스토스트링 정수 (i) () 2.
정적 클래스 메서드를 호출하여 ['안테거스토스트링'] [1] '정수'. '정수' 인스턴스입니다 필요로 하지 않습니다.
['New Integer (i)'] [3] 전화하시기 경우 인스턴스입니다 유형 '정수' 가 작성한 Java object 의 연구비를 전체 정보의 가치를 int 하였으매 전화하시기 toString '방법' it 에 대한 표현 자체가 물어봐 반환되기를 문자열으로 .
정수 집합 안에 넣어 그 객체를 스케쳐내 사이트용 example-you&; d # 39 의 두 번째 사용할 수 있기 때문에 그렇게 할 수 있는 모든 것을 할 수 없는 일종의 본격적인 객체에는 베어 'int'.
[1]: http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html # toString -
[3]: http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html # 정수형 int -
또 다른 옵션은 정적 ['스트라이트바루에로프'] [1] 메서드입니다.
String.valueOf(i)
[1]: http://docs.oracle.com/javase/8/docs/api/java/lang/String.html # int valueof -
'새 정수 (i) (),' 네스토스트링 1.
그 후 이 같은 발언은 tcpg 개체는 정수 (i) '을 반품하십시오 구체화하십시오 표현 방법' toString 호출하십시오 Integer& # 39 의 값을 .
(i) ',' 안테거스토스트링 2.
이 특정 int (정수) String 객체에 되돌려줍니다 사이트용 toString (int) '은' 하지만, 여기에 '정적' 메서드입니다.
이 경우 두 문자열 표현, 요약 첫 객체에는 되돌려줍니다 신지애 등 되돌려줍니다 구체화하십시오 나타내줍니다 경우 정수).
나는 또한 매우 사용하는 것이 좋습니다
int integer = 42;
String string = integer + "";
단순하고 효과적인.
비록 내가 좋아하는 fhucho& # 39 의 권고
String.valueOf(i)
실제로 이 것은 이 방법을 페이징됩니다 irony
Integer.toString(i)
따라서 ' (i)' 같은 방식을 사용할 경우 스트라이트바루에로프 판독합니다 진실이며당신이 don& # 39, t need 기수 (i) '' 안테거스토스트링 비해 효율성이 없다는 게 아니라 적다.
성능 면에서 경우 성능 측정, , 시간을 감안하면 다음 안테거스토스트링 (i) 는 100 만 배 미만인 경우 비싸다구요 요구하고 있다. Else if it 는 억개 이상의 페이징됩니다 다음 새로운 정수 (10) 네스토스트링 () 가 성능이 향상됩니다.
다음은 통해 문제를 해결할 수 있는 성능을 측정하기 위해 u 코드
public static void main(String args[]) {
int MAX_ITERATION = 10000000;
long starttime = System.currentTimeMillis();
for (int i = 0; i < MAX_ITERATION; ++i) {
String s = Integer.toString(10);
}
long endtime = System.currentTimeMillis();
System.out.println("diff1: " + (endtime-starttime));
starttime = System.currentTimeMillis();
for (int i = 0; i < MAX_ITERATION; ++i) {
String s1 = new Integer(10).toString();
}
endtime = System.currentTimeMillis();
System.out.println("diff2: " + (endtime-starttime));
}
메모리, 측면에서
>. 네스토스트링 새로운 정수 (i) ();
그래서 시간이 더 걸릴 수 있으므로, 각 메모리 메모리 조각화가 개체를 만드는 일이 벌어질까.
1 (i) '' 안테거스토스트링.
Integer i = new Integer(8);
// returns a string representation of the specified integer with radix 8
String retval = i.toString(516, 8);
System.out.println("Value = " + retval);
'새 네스토스트링 정수 (i) () 2. '
int i = 506;
String str = new Integer(i).toString();
System.out.println(str + " : " + new Integer(i).toString().getClass());////506 : class java.lang.String