728x90
객체가 비어있는지 확인할 때에는 'isEmpty'와 '==null'을 사용한다.
두가지의 차이점은
isEmpty()는 객체가 값이 존재하지 않으면 true를 리턴한다
ex ) String a =""; 이면 true
객체에 ""라는 값(a)이 들어가있어 값은 존재하지않지만 비어있는 상태가 아님
(null은 값이 0이라고(-자세히 말하자면 0도 아님) 비어있는게 아니다)
(이것에 대해 자세한 것은 null값에 대한 메모리 할당을 공부하자)
==null은 객체가 비어있어야 true를 리턴한다.
ex ) String a=""; 이면 false
객체에 ""라는 값(a)이 들어가있다. 비어있는 상태(null)가 아니기 때문에 false
영화관을 예로들어, 영화관에 자리 예매가 되어있을때
예매한 사람이 오지않으면 isEmpty는 true (자리(메모리영역)가 비어있는 상태가 아니지만 사람(값)이 없음)
예매한 사람이 오지않으면 ==null은 false (자리(메모리영역)가 비어있는 상태가 아님)
예매자체를 하지 않은 빈자리여야 ==null은 true를 리턴한다.
isEmpty는 값 , null은 메모리영역이 비어있어야 true
728x90
'JAVA > 자바' 카테고리의 다른 글
Java 입력 받은 값을 배열에 저장 (0) | 2021.12.11 |
---|---|
extends 와 implements의 차이 - 상속 (0) | 2021.08.13 |
Iterator와 map의 반복문 (0) | 2021.08.06 |
indexOf() , lastindexOf- 특정 문자 인덱스 위치 찾기 (0) | 2021.08.06 |
getter,setter를 사용하는 이유와 객체의 부품화 (in VO,DTO) (0) | 2021.07.29 |