널을 테스트하는 간단한 방법으로 변환하기 전에
나는 항상 쓴다
Object o;
if (o!=null)
String s = o.toString();
이 사건을 처리하는 간단한 방법이 권한이 있습니까?
ObjectUtils.toString(object)
commons-lang에서. 코드는 실제로 한 줄입니다.
return obj == null ? "" : obj.toString();
참고 사항- toString()
디버그 및 로깅에만 사용 하십시오. 형식에 의존하지 않습니다 toString()
.
클래스 의 정적 valueOf
메서드 String
는 널 (null)를 수행 검사 "null"
하고 object-가 null
다음 과 같은 경우 반환 합니다 .
String stringRepresentation = String.valueOf(o);
시험 Objects.toString(Object o, String nullDefault)
예 :
import java.util.Objects;
Object o1 = null;
Object o2 = "aString";
String s;
s = Objects.toString(o1, "isNull"); // returns "isNull"
s = Objects.toString(o2, "isNull"); // returns "aString"
참조를 위해 Bozho 및 January-59의 답변 업데이트 :
ObjectUtils.toString(object)
commons-lang에서. 코드는 실제로 한 줄입니다.
return obj == null ? "" : obj.toString();
그러나 Apache Commons 의이 방법은 릴리스 3.2 (commons / lang3) 이후로 더 이상 사용되지 않습니다 . 여기서는 목표는 Jdk7에서 사용할 수있는 모든 메소드를 제거하는 것이 었습니다. 이 메서드는 자바 7java.util.Objects.toString(Object)
에서 로 대체 되었으며 향후 릴리스에서 제거 될을 구석으로입니다. 몇 가지 논의 후에도 아직 제거하지 않습니다. (현재 3.4에서) 더 이상 사용하지 않는 방법으로 계속 사용할 수 있습니다.
그러나 상기 자바 7+ 메서드는 null 참조에 대해 "null"을 반환하는 반면이 메서드는 빈 반환을 반환합니다. 행동을 보존하려는 경우
java.util.Objects.toString(myObject, "")
import java.util.Objects;
Objects.toString(object, "")
단순 및 0 예외 예외 :)
String.valueOf(o)
o가 null 인 경우 "null"문자열을 반환합니다.
다른 하나는 String s = o == null? "default" : o.toString()
다음과 같은 방법으로 java 8 선택 사항을 사용할 수 있습니다.
String s = Optional.ofNullable(o).map(Object::toString).orElse("null");
원하는 null
값에 따라이 작업을 수행 할 수 있습니다.
Object o =
String s = ""+o;
이 println 및 추가 설치 대한 기본 동작입니다.
o가 NULL이 아닐 때 String을 주목할만한 시청. 그러나 나는 당신과 같이 코딩하면 변수에 액세스 할 수 있고 혼란스럽게합니다 (만약 문 범위에 s를 알고 있습니다).
'ProgramingTip' 카테고리의 다른 글
iOS Swift에서 NSDate를 다중로 변환 (0) | 2020.12.13 |
---|---|
모바일을 모스 부호로 변환 (0) | 2020.12.13 |
오류 ITMS-90174 :“프로비저닝 프로필이 없습니다. iOS 앱은 embed.mobileprovision이라는 파일에 프로필을 포함해야합니다.” (0) | 2020.12.13 |
gem으로 라이선스를 설치하는 동안 실행 가능한 gem :: GemNotFoundException)이있는 gem 들러 (> = 0.a)를 사용할 수 없습니다. (0) | 2020.12.13 |
self.title은 navigationController 및 tabBarItem의 제목을 설정하고 있습니까? (0) | 2020.12.13 |