Java 언어에서 null과 ""의 차이
String str1 = null;
String str2 = "";
저희가 꼼꼼히 생각하지 못할 때가 많아요.
null과
양자의 차이는 단지 이렇게 쓰면 된다는 것을 알 뿐이지만, 그것들 사이의 차이를 아는 것은 매우 중요하다!
String str1 = null;
이 코드는str1이 빈 인용이라는 것을 설명한다.String str2 = "";
이 문장은str2가 빈 문자열 인용임을 나타낸다.좀 더 깊이 파고들면 컴파일러가 값이 없어요.null의 변수는 메모리 공간을 분배하지만, 주어진 값은
""의 변수는 메모리 공간을 분배하기 때문에
str1은 아직 실례화된 대상이 아니다.
str2는 이미 실례화된 대상이다.
주의해야 할 것은null은 대상이 아니기 때문에 "은 대상이기 때문에 비교할 때 반드시
if (str1==null) {...}
및if (str2.equals("")) {...}
대상은 equals로 비교하고null은 등호로 비교한다.따라서 String str1 = null인 경우그러면 다음 표기법은 잘못된 것입니다.
if (str1.equals("") || str1==null) {
// str1 , ...
// ...
}
올바른 쓰기 방법은 다음과 같습니다.if (str1==null || str1.equals("")) {
// str1 , ,
// ...
}
마지막으로 예를 들자면 빈 유리컵 하나에 아무것도 없다고 하면 안 된다. 안에 공기가 있기 때문에 진공으로 뽑아도 된다.
null과
''의 차이는 진공과 공기와 같다. 이렇게 하면 비교적 쉽게 양자 간의 차이를 이해할 수 있다.
글은 여기까지 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 언어에서 null과 ""의 차이Java 언어로 프로그래밍을 배우고 사용하는 개발자는 다음과 같은 코드를 자주 만날 수 있습니다. 저희가 꼼꼼히 생각하지 못할 때가 많아요. null과 양자의 차이는 단지 이렇게 쓰면 된다는 것을 알 뿐이지만, 그것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.