java.util을 실행합니다.List. is Empty() 목록 자체가 null인지 확인합니다.
한다java.util.List.isEmpty()
리스트가 그 자체인지 아닌지를 확인하다null
아니면 제가 직접 확인해야 하나요?
예를 들어 다음과 같습니다.
List<String> test = null;
if (!test.isEmpty()) {
for (String o : test) {
// do stuff here
}
}
이거를 던질까?NullPointerException
왜냐하면 시험은null
?
전화하려고 하는 건isEmpty()
에 대한 방법null
참조하다List test = null;
) 이것은 확실히 큰 충격을 줄 것이다.NullPointerException
해야죠.if(test!=null)
대신 (체크)null
첫 번째)를 참조해 주세요.
방법isEmpty()
true를 반환한다.ArrayList
오브젝트에는 요소가 포함되어 있지 않습니다.그렇지 않으면 false입니다.List
먼저 당신의 경우에서 인스턴스화해야 합니다.null
).
이 질문을 보시면 좋을 것 같습니다.
Apache Commons 컬렉션을 사용할 것을 권장합니다.
그 결과, 실장은 꽤 양호하고, 문서화되어 있습니다.
/**
* Null-safe check if the specified collection is empty.
* <p>
* Null returns true.
*
* @param coll the collection to check, may be null
* @return true if empty or null
* @since Commons Collections 3.2
*/
public static boolean isEmpty(Collection coll) {
return (coll == null || coll.isEmpty());
}
아니요.java.util.List.isEmpty()
리스트가 다음과 같은지 여부를 체크하지 않는다.null
.
Spring 프레임워크를 사용하는 경우CollectionUtils
class를 클릭하여 목록이 비어 있는지 여부를 확인합니다.이 기능은 또한null
참조.다음은 Spring 프레임워크의 코드 조각입니다.CollectionUtils
학급.
public static boolean isEmpty(Collection<?> collection) {
return (collection == null || collection.isEmpty());
}
스프링을 사용하지 않는 경우에도 이 코드를 조정하여 사용자 이름을 추가할 수 있습니다.AppUtil
학급.
이렇게 하면NullPointerException
- 에서 인스턴스 메서드를 호출하려고 할 때null
참조 - 그러나 이와 같은 경우에는 에 대해 명시적으로 확인해야 합니다.null
:
if ((test != null) && !test.isEmpty())
이 방법은, 무선 통신을 전파하는 것보다 훨씬 더 좋고, 또 명확합니다.Exception
.
임의의 늘 참조로 임의의 메서드를 호출하면 항상 예외가 발생합니다.먼저 개체가 null인지 테스트합니다.
List<Object> test = null;
if (test != null && !test.isEmpty()) {
// ...
}
또는 다음 로직을 캡슐화하는 메서드를 작성합니다.
public static <T> boolean IsNullOrEmpty(Collection<T> list) {
return list == null || list.isEmpty();
}
다음 작업을 수행할 수 있습니다.
List<Object> test = null;
if (!IsNullOrEmpty(test)) {
// ...
}
Lion의 대답에 더해서, 나는 당신이 더 좋은 것을 말할 수 있습니다.if(CollectionUtils.isNotEmpty(test)){...}
.
또, null도 체크하기 때문에, 수동으로 체크할 필요는 없습니다.
예, 예외가 발생합니다.아마도 당신은 PHP 코드에 익숙할 것입니다.empty($element)
또,isset($element)
자바에서는 그렇지 않습니다.
리스트에서 메서드가 직접 호출되기 때문에 쉽게 외울 수 있습니다(메서드는 리스트에 속합니다).목록이 없으면 방법이 없습니다.또한 Java는 이 메서드를 호출할 목록이 없다고 불평합니다.
독자적인 is Empty(복수 수집의 경우) 메서드를 사용할 수도 있습니다.이것을 Util 클래스에 추가합니다.
public static boolean isEmpty(Collection... collections) {
for (Collection collection : collections) {
if (null == collection || collection.isEmpty())
return true;
}
return false;
}
언급URL : https://stackoverflow.com/questions/11512034/does-java-util-list-isempty-check-if-the-list-itself-is-null
'source' 카테고리의 다른 글
jQuery를 사용하는 이스케이프 키의 키 코드 (0) | 2023.01.29 |
---|---|
악시오, 의존관계 또는 개발의존관계? (0) | 2023.01.29 |
미래와 약속의 차이점은 무엇입니까? (0) | 2023.01.29 |
데이터베이스의 행 순서 변경 (0) | 2023.01.29 |
Vue.js, Vuex, Vue-Router SPA 및 애플리케이션 클라이언트 측과 서버 측 간의 확장 (0) | 2023.01.29 |