Program Club

Double.parseDouble (String)과 Double.valueOf (String)의 차이점은 무엇입니까?

proclub 2020. 11. 27. 21:40
반응형

Double.parseDouble (String)과 Double.valueOf (String)의 차이점은 무엇입니까?


나는 변환 할 StringA를 Double데이터 유형입니다. parseDouble또는 을 사용해야하는지 모르겠습니다 valueOf.

이 두 가지 방법의 차이점은 무엇입니까?


parseDouble 문자열 값을 포함하는 기본 double을 반환합니다.

Double 클래스의 valueOf 메서드에서 수행 된대로 지정된 String이 나타내는 값으로 초기화 된 새 double을 반환합니다.

valueOf Double 인스턴스를 반환합니다. 이미 캐시 된 경우 동일한 캐시 된 인스턴스를 얻게됩니다.

지정된 double 값을 나타내는 Double 인스턴스를 반환합니다. 새 Double 인스턴스가 필요하지 않은 경우이 메서드는 자주 요청되는 값을 캐싱하여 훨씬 더 나은 공간 및 시간 성능을 제공 할 수 있으므로 일반적으로 Double (double) 생성자보다 우선적으로 사용해야합니다.

새 Double 개체 인스턴스를 만드는 오버 헤드를 방지하려면 일반적으로 valueOf


Double.parseDouble(String)기본 double유형 을 반환합니다 . Double.valueOf(String)유형의 래퍼 객체를 반환합니다 Double.

예를 들어 :

double d = Double.parseDouble("1");

Double d = Double.valueOf("1");

또한 valueOf(...)오버로드 된 메서드입니다. 두 가지 변형이 있습니다.

  1. Double valueOf(String s)
  2. Double valueOf(double d)

반면 parseDouble다음 서명이있는 단일 방법은 다음과 같습니다.

  1. double parseDouble(String s)

둘 다 String을 double 값으로 변환하지만 parseDouble () 메서드는 기본 double 값을 반환하고 valueOf () 메서드는 기본 double을 기본 double 값을 포함하는 Double 래퍼 클래스 객체로 추가로 변환합니다.

String의 값을 기본 double로 변환 할 수없는 경우 String에서 primitive double로 변환하면 NFE (NumberFormatException)가 발생할 수 있습니다.


parseDouble () 메서드는 STRING을 초기화하는 데 사용됩니다 (숫자 값을 포함해야 함) .... 반환하는 값은 int, float 등과 같은 원시 데이터 유형입니다.

그러나 valueOf ()는 Wrapper 클래스의 객체를 생성합니다. 이중 값을 얻으려면 래핑을 풀어야합니다. 초콜렛과 비교할 수 있습니다. 제조업체는 오염을 방지하기 위해 초콜릿을 호일이나 종이로 포장합니다. 사용자는 초콜릿을 가져다가 포장지를 제거하고 던져서 먹습니다.

다음 변환을 관찰하십시오.

int k = 100; Integer it1 = new Integer(k);

int 데이터 유형 k는 Integer 클래스를 사용하여 객체 인 it1로 변환됩니다. it1 객체는 k가 객체가 필요한 모든 곳에서 Java 프로그래밍에서 사용할 수 있습니다.

다음 코드를 사용하여 it1 개체를 래핑 해제 (Integer 개체에서 int 가져 오기) 할 수 있습니다.

int m = it1.intValue();

System.out.println (m * m); // 10000을 인쇄합니다.

// intValue ()는 int 데이터 유형을 반환하는 Integer 클래스의 메서드입니다.


에 대한 문서 parseDouble()는 "Double 클래스의 valueOf 메소드에 의해 수행 된대로 지정된 String이 나타내는 값으로 초기화 된 새로운 double을 반환합니다."라고 말하므로 동일해야합니다.


문자열을 double 데이터 유형으로 변환하려면 대부분 parseDouble () 메서드를 선택합니다. 예제 코드를 참조하십시오.

String str = "123.67";
double d = parseDouble(str);

당신은 가치를 두 배로 얻을 것입니다. 에서 StringToDouble 자습서를 참조하십시오 tutorialData을 .

참고 URL : https://stackoverflow.com/questions/10577610/what-is-the-difference-between-double-parsedoublestring-and-double-valueofstr

반응형