JAVA 판단 공 값 방법 원리 분석
1.형식 null 은 문자열 이 아 닌 대상 의 값 을 표시 합 니 다.예 를 들 어 대상 의 인용 을 설명 합 니 다.String a=null;"빈 문자열 을 표시 합 니 다.즉,길이 가 0 이라는 것 입 니 다.예 를 들 어 문자열 String str="를 설명 합 니 다.
2.메모리 할당 String str=null;문자열 대상 을 설명 하 는 인용 을 표시 하지만 null 로 가리 키 고 있 습 니 다.즉,메모리 공간 을 가리 키 지 않 았 습 니 다.String str = ""; 문자열 형식 을 설명 하 는 인용 을 표시 합 니 다.값 은'빈 문자열'입 니 다.이 str 참조 가 가리 키 는 것 은 빈 문자열 의 메모리 공간 입 니 다.
자바 에서 변수 와 인용 변 수 는 스 택 에 존재 합 니 다(stack).대상(new 에서 발생 하 는)은 모두 더미 에 저 장 됩 니 다(hep).
다음 과 같다.
String str = new String("abc") ;
ps:=왼쪽 은 스 택 에 저 장 됩 니 다(stack).=오른쪽 은 더미 에 저 장 됩 니 다(heap).
3.예시 프로그램:
public class String_Demo01 {
/**
* @param args
*/
public static void main(String[] args) {
String str1 = new String() ;
String str2 = null ;
String str3 = "" ;
System.out.println(str1==str2); // , false
System.out.println(str1.equals(str2)); // , false
System.out.println(str2==str3); // , false
System.out.println(str3.equals(str2)); // , false
System.out.println(str1==str3); // , false
System.out.println(str1.equals(str3)); // , true
}
}
위의 절 차 를 통 해 다음 과 같은 결론 을 얻 을 수 있다.방법 1:가장 많은 사람들 이 사용 하 는 방법 은 직관 적 이 고 편리 하지만 효율 이 낮다.
if(s == null || s.equals("")); 방법 2:문자열 의 길 이 를 비교 하고 효율 이 높 은 것 이 제 가 아 는 가장 좋 은 방법 입 니 다.
if(s == null || s.length() == 0); 방법 3:자바 SE 6.0 에서 야 제공 하 는 방법,효율 과 방법 2 는 거의 같 지만 호환성 을 고려 하여 사용 방법 2 를 추천 합 니 다.
if(s == null || s.isEmpty());
방법 4:이것 은 비교적 직관 적 이 고 간편 한 방법 이 며 효율 도 매우 높 으 며 방법 2,3 의 효율 과 차이 가 많 지 않다.
if (s == null || s == "");
메모:s==null 은 필요 합 니 다.
String 형식 이 null 이면 equals(String)나 length()등 동작 을 하면 java.lang.NullPointer Exception 을 던 집 니 다.
또한 s==null 의 순 서 는 앞 에 나타 나 야 합 니 다.그렇지 않 으 면 자바.lang.NullPointer Exception 을 던 집 니 다.
다음 자바 코드:
String str = null;
if(str.equals("") || str == null){//
System.out.println("success");
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.