2012-01-23 1 views
-2

toLong()new Long(String)의 차이점을 말해 줄 수 있습니까? 둘 사이에 성능 차이가 있습니까?문자열을 변환하는 데 Long() 대신 toLong을 사용하면 문제가 발생합니다.

예 : String str="1236";

Long val=str.toLong();

또는

Long val=new Long(str);

하나가 더 나은 사용이고 나에게 차이를 줄? 내부적으로

+5

Java 버전은'String.toLong()'으로 보입니까? – adarshr

+3

String.toLong()이 존재하면, javadoc는 그것이 무엇을하는지 알려줍니다. 그러나이 방법은 존재하지 않습니다. http://docs.oracle.com/javase/6/docs/api/java/lang/String.html을 참조하십시오. –

+0

Long.parseLong (String)을 의미합니까? –

답변

2

는 차이가 없도록 동일한 코드를 사용하고, (자바 문자열이 toLong() 방법을 ... 가지고 있지 않기 때문에 나는, 당신이 그루비에서 의미 가정).

아직 궁금한 점이 있다면 강력하게에 직접 확인해 볼 것을 제안합니다.

0

Long.valueOf(...)을 사용하면 128 이하의 값을 캐시하고 재사용 할 수 있습니다.

0

String#toLong() 방법이 없습니다.

그러나 Long#valueOf(String)new Long(String) 대신 사용해야하며 JVM은 값을 캐시하고 재사용 할 수 있습니다.

+0

방금 ​​확인했는데 문자열 인수를 사용하는 버전이 캐시 된 값을 사용하지 않는 것 같습니다 ... – quaylar

+0

오 예 ... 방금 javadoc을 살펴 봤는데 당신이 맞다고 의심 할 수 있습니다. . 정수 (Integer)에 대해서도 같은 것처럼 보입니다 (다른 것은 체크하지 않았습니다). 오늘 뭔가 새로운 것을 배웠습니다. 힌트를위한 Thx! :) – hage

0

String.toLong() -하지만 Long.valueOf (String str)는 새로운 Long (String str)과 동일하게 작동합니다.

관련 문제