자바 문자열 String 이 비어 있 는 지 여 부 를 판단 합 니 다.
1、str == null;2、"".equals(str);3、str.length <= 0;4、str.isEmpty();주의:length 는 속성 입 니 다.일반 집합 대상 이 가지 고 있 는 속성 으로 집합 크기 를 얻 습 니 다. 예 를 들 어 배열.length 는 배열 의 길 이 를 얻 는 것 이다. length()는 방법 입 니 다.일반 문자열 류 대상 은 이 방법 이 있 고 문자열 의 길 이 를 얻 을 수 있 습 니 다. 예 를 들 어 문자열.length();설명: 1.null 은 이 문자열 이 어떤 것 도 가리 키 지 않 는 다 는 것 을 표시 합 니 다.이 럴 때 사용 하 는 방법 이 있 으 면 빈 포인터 이상 이 발생 합 니 다. 2.''는 길이 가 0 인 문자열 을 가리 키 는데 이 때 호출 하 는 방법 이 안전 하 다 는 것 을 나타 낸다. 3.null 은 대상 이 아 닙 니 다.""대상 이기 때문에 null 은 공간 을 분배 하지 않 았 습 니 다.""공간 을 분 배 했 습 니 다.예 를 들 어: String str1 = null; str 참조 가 비어 있 음 String str2 = ""; str 빈 문자열 참조 str 1 은 아직 실례 화 된 대상 이 아니 라 str 2 는 이미 실례 화 되 었 다. 대상 은 equals 로 비교 하고 null 은 등호 로 비교 합 니 다. str1=null;다음 쓰기 오류: if(str1.equals("")||str1==null){ } 올 바른 쓰 기 는 if(str1==null|str1.equals("){//이 므 로 문자열 이 비어 있 는 지 아 닌 지 를 판단 할 때 대상 인지 아 닌 지 를 판단 하고 빈 문자열 인지 아 닌 지 를 판단 합 니 다} 4.따라서 문자열 이 비어 있 는 지 여 부 를 판단 하려 면 먼저 null 이 아 닌 지 확인 한 다음 에 그의 길 이 를 판단 해 야 한다. String str = xxx; if(str != null && str.length() != 0) { }
2.다음은 자바 가 문자열 이 비어 있 는 지 여 부 를 판단 하 는 네 가지 방법 입 니 다.
네 가지 방법의 집행 효율 은 다음 과 같다.
JudgeString 1 소모 시간:625 msJudgeString 2 소모 시간:125 msJudgeString 3 소모 시간:234 msJudgeString 4 소모 시간:109 ms
/**
* Created with IntelliJ IDEA.
* User: Administrator
* Date: 14-1-16
* Time: 10:43
*
*/
public class JudgeStringIsEmptyOrNot {
public static void main(String[] args) {
JudgeString1("w_basketboy", 10000);
JudgeString2("w_basketboy", 10000);
JudgeString3("w_basketboy", 10000);
JudgeString4("w_basketboy", 10000);
}
/**
* : , , , ;
* : , , ;
* : Java SE 6.0 , , , ;
* : , , , 、 ;
*/
public static void JudgeString1(String str, long num) {
long startTiem = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
for (int j = 0; j < num; j++) {
if (str == null || "".equals(str)) {
}
}
}
long endTime = System.currentTimeMillis();
System.out.println("function1 :" + (endTime - startTiem) + "ms");
}
public static void JudgeString2(String str, long num) {
long startTiem = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
for (int j = 0; j < num; j++) {
if (str == null || str.length() <= 0) {
}
}
}
long endTime = System.currentTimeMillis();
System.out.println("function4 :" + (endTime - startTiem) + "ms");
}
public static void JudgeString3(String str, long num) {
long startTiem = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
for (int j = 0; j < num; j++) {
if (str == null || str.isEmpty()) {
}
}
}
long endTime = System.currentTimeMillis();
System.out.println("function3 :" + (endTime - startTiem) + "ms");
}
public static void JudgeString4(String str, long num) {
long startTiem = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
for (int j = 0; j < num; j++) {
if (str == null || str == "") {
}
}
}
long endTime = System.currentTimeMillis();
System.out.println("function4 :" + (endTime - startTiem) + "ms");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.