Java int to String - Integrity.toString(i) 대 새 정수(i.toString()
가끔 Java가 나를 곤혹스럽게 한다.
나는 엄청난 양의 초기화를 해야 한다.
진짜 차이점이 뭐야?
Integer.toString(i)
new Integer(i).toString()
Integer.toString
수업시간에 정적인 방법을 호출하다.의 예가 필요 없다.Integer
.
호출할 경우 유형의 인스턴스를 생성하십시오.Integer
인트 값을 캡슐화하는 전체 Java 개체 입니다.그리고 나서 당신은 전화를 한다.toString
자신의 문자열 표현을 반환하도록 요청하는 방법
만약 당신이 원하는 것이 단지 인쇄하는 것이라면int
첫 번째 것은 더 가볍고 빠르며 추가 메모리를 사용하지 않기 때문에 (반환된 문자열에서 가져온) 첫 번째 것을 사용할 것이다.
예를 들어 정수 값을 나타내는 객체를 원할 경우(예: 이를 집합에 넣기 위해) 두 번째 객체를 사용할 수 있는데, 이 객체는 맨손으로 수행할 수 없는 모든 종류의 작업을 수행할 수 있는 완전한 객체를 제공하기 때문이다.int
.
new Integer(i).toString()
먼저 주위에 래퍼 개체를 생성하십시오.i
(그 자체가 포장된 물체일 수 있음)Integer
).
Integer.toString(i)
불필요한 물체를 만들지 않기 때문에 선호된다.
또 다른 옵션은 정적 방법이다.
String.valueOf(i)
보다 약간 더 옳게 느껴진다.Integer.toString(i)
나에게. 예를 들어, 나의 타입이 바뀔 때,int
로double
코드는 정확할 것이다.
new Integer(i).toString();
이 문장은 정수 객체를 만든 다음 그 메소드를 호출한다.
toString(i)
정수 값의 문자열 표현을 반환하십시오.Integer.toString(i);
특정 int(integer)를 나타내는 String 개체를 반환하지만 여기서
toString(int)
a이다static
방법
요약은 첫 번째 경우에 객체 문자열 표현을 반환하며, 두 번째 경우에는 정수의 문자열 표현을 반환한다.
나는 또한 사용하기를 강력히 추천한다.
int integer = 42;
String string = integer + "";
간단하고 효과적이다.
비록 나는 후초의 추천을 좋아하지만
String.valueOf(i)
아이러니한 것은 이 방법이 실제로
Integer.toString(i)
그러므로, 사용String.valueOf(i)
만약 당신이 그것이 읽히는 방식을 좋아하고 당신이 라딕스를 필요로 하지 않는다면, 그리고 또한 그것이 보다 덜 효율적이라는 것을 알고 있다.Integer.toString(i)
.
성능 측정에 있어 시간 성능을 고려한다면 Integr.toString(i); 1억 회 미만으로 전화를 걸면 비용이 많이 든다.그렇지 않으면 1억 통화 이상이 되면 새로운 정수(10).toString()가 더 좋은 성능을 발휘할 것이다.
아래는 성능측정을 시도할 수 있는 코드 입니다.
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).toString();
매번 개체를 만들 것이기 때문에 더 많은 메모리가 필요할 것이고 그래서 메모리 조각화가 일어날 것이다.
더 나은 방법:
Integer.valueOf(i).toString()
간단한 방법은 연결만 하면 된다.""
정수:
int i = 100;
String s = "" + i;
지금 당장s
을 가질 것이다100
문자열 값으로
여기Integer.toString
정수 클래스의 정적 메서드를 호출한다.그것은 그 물체가 호출할 필요가 없다.
전화하면new Integer(i)
먼저 Int i 값을 캡슐화하는 전체 Java 개체인 정수 유형의 인스턴스를 만드십시오.그리고 나서 당신은 전화를 한다.toString
자신의 문자열 표현을 반환하도록 요청하는 방법
1.Integer.toString(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);
2.new Integer(i).toString()
int i = 506;
String str = new Integer(i).toString();
System.out.println(str + " : " + new Integer(i).toString().getClass());////506 : class java.lang.String
'Programing' 카테고리의 다른 글
입력 필드에 최대 및 최소 제한을 설정하는 중? (0) | 2022.04.16 |
---|---|
Vue 2 라이프사이클 - Destroy 전에 중지하는 방법? (0) | 2022.04.16 |
라라벨믹스 웹팩 공용 경로 (0) | 2022.04.16 |
C에서 stderr로 인쇄하려면 어떻게 해야 하는가? (0) | 2022.04.16 |
시스템을 언제 불러야 할까?자바로 퇴장하다 (0) | 2022.04.16 |