null일 때 빈 문자열 가져오기
필드의 문자열 값을 가져오고 싶다(긴 문자열 유형 또는 임의의 개체일 수 있음).
필드가 null일 경우 빈 문자열이 반환됩니다.guava를 사용하여 이 작업을 수행했습니다.
nullToEmpty(String.valueOf(gearBox))
nullToEmpty(String.valueOf(id))
...
하지만 변속기가 null이면 null이 반환됩니다!value Of methdod가 오류를 발생시키는 문자열 "null"을 반환하므로 빈 문자열이 아닙니다.
아이디어 있어요?
EDIt: 100s 분야가 있습니다.실장하기 쉬운 것을 찾고 있습니다.
(Java 7에서는 표준)을 사용할 수 있습니다.
Objects.toString(gearBox, "")
Objects.toString(id, "")
링크된 문서:
public static String toString(Object o, String nullDefault)
호출 결과를 반환합니다.
toString
첫 번째 인수가 늘이 아닌 경우 첫 번째 인수로, 그렇지 않은 경우 두 번째 인수가 반환됩니다.파라미터:
o
- 객체
nullDefault
- 첫 번째 인수가 다음과 같은 경우 반환되는 문자열null
반품:
호출 결과toString
그렇지 않다면 첫 번째 의론에서null
그렇지 않으면 두 번째 인수를 사용합니다.참고 항목:
toString(Object)
Java 8의 경우 옵션 접근 방식을 사용할 수 있습니다.
Optional.ofNullable(gearBox).orElse("");
Optional.ofNullable(id).orElse("");
Apache Commons를 사용해도 괜찮으시다면, 이 기능을 하는 가 있습니다.
전달된 문자열 중 하나를 반환하거나 문자열이 늘인 경우 빈 문자열("")을 반환합니다.
만약 당신도 이 모든 것을 없애고 싶다면"null"
, 다음을 수행할 수 있습니다.
StringUtils.defaultString(str).replaceAll("^null$", "")
또는 대소문자를 무시하려면:
StringUtils.defaultString(str).replaceAll("^(?i)null$", "")
대체 방법인 경우, Guava는 다음을 제공합니다.Strings.nullToEmpty(String)
.
소스 코드
String str = null;
str = Strings.nullToEmpty(str);
System.out.println("String length : " + str.length());
결과
0
인라인 늘 검사 사용
gearBox == null ? "" : String.valueOf(gearBox);
StringUtils.defaultString(String str)
전달된 문자열 중 하나를 반환하거나 문자열이 늘인 경우 빈 문자열("")을 반환합니다.
java doc의 예
StringUtils.defaultString(null)
돌아온다""
StringUtils.defaultString("")
돌아온다""
StringUtils.defaultString("bat")
돌아온다"bat"
guava를 사용하는 경우:
Objects.firstNonNull(gearBox, "").toString();
Java 9+에서는 Objects.requireNonNullElse(obj, defaultObj) https://docs.oracle.com/javase/9/docs/api/java/util/Objects.html#requireNonNullElse-T-T- 를 사용합니다.
//-- returns empty string if obj is null
Objects.requireNonNullElse (obj, "")
언급URL : https://stackoverflow.com/questions/21936503/get-empty-string-when-null
'source' 카테고리의 다른 글
xampp MySQL이 시작되지 않음 (0) | 2022.09.20 |
---|---|
mysql에서 테이블을 복사하는 가장 빠른 방법? (0) | 2022.09.20 |
MySQL에서 인쇄문을 시뮬레이트하려면 어떻게 해야 합니까? (0) | 2022.09.20 |
Python에서는 어떻게 이 긴 줄을 끊을 수 있을까요? (0) | 2022.09.20 |
cURL 에러(7): 호스트에 접속할 수 없었습니다. (0) | 2022.09.20 |