변환

2017-12-03 3 views
1

오늘은 어떤 충격적인 발견을 저를 주도, 레거시 코드에서 버그를 발견?변환

String age = person.getAge() + ""; 

전혀 예상치 못한되고 있습니다 :
그것은이 같은 편리한 코드는 것을 의미한다.
두 번째 질문 : 인해 방법 과부하를 해결 규칙 대신에 "널 (null)"

답변

3

String.valueOf(null) 전화 public static String valueOf(char data[])의 널을 얻을 수있는 가장 좋은 (가장 우아한) 방법은 무엇입니까 (char[]Object보다 더 구체적이다). 이 메서드는 null 인수에 대해 NullPointException을 반환합니다.

String.valueOf(i)null 인수에 대해 String "null"을 반환하는 public static String valueOf(Object obj)을 호출합니다.

는 (당신은 항상 직접 s = "null";을 할당하거나 char[] (예를 s = String.valueOf((String)null);) 이외의 몇 가지 유형으로 null 값을 캐스팅 할 수 있습니다이 예외를 방지하려면, 하나 s = String.valueOf(null);를 호출하지 않습니다.

+0

를 예외가보다 날 귀찮게 null을 예상하고 대신에 "null"문자열을 얻는 경우 잘못된 값이 전달됩니다. – Constant

+0

@ Constant이 경우'null'을'String'에 연결하지 말고'String'에'null'을 절대 전달하지 마십시오. valueOf()'. – Eran