1.文字列strが空でないと判断する方法は次のとおりです。
1。str == null;
2。 ""。quals(str);
3。str.length<= 0;
4。str.isempty();
注:長さは属性であり、コレクションクラスオブジェクトが所有するプロパティであり、コレクションのサイズを取得します。
例:array.lengthは、配列の長さを取得することです。
長さ()はメソッドです。一般に、文字列クラスオブジェクトにはこのメソッドがあります。
例:string.length();
説明:
1. NULLは、この文字列がこの時点でその方法を指していないことを意味します。
2。 ""は、長さ0の文字列を指すことを意味し、現時点でその方法を呼び出すことは安全です。
3。Nullはオブジェクトではなく、「」はオブジェクトであるため、Nullには割り当てられたスペースがありません」、「スペースを割り当てる例:
string str1 = null;
文字列str2 = "";
STR1はまだインスタンス化されたオブジェクトではありませんが、STR2はインスタンス化されています。
オブジェクトは等しいものと比較され、nullは等記号と比較されます。
str1 = null;
if(str1.equals( "")|| str1 == null){}
それを書く正しい方法は、(str1 == null || str1.equals( "")){//文字列が空であるかどうかを判断する場合、まずそれがオブジェクトであるかどうかを判断します空の文字列です}
4.したがって、文字列が空であるかどうかを判断するには、まずそれがnullでないことを確認し、次にその長さを判断する必要があります。
文字列str = xxx;
if(str!= null && str.length()!= 0){}
2。以下は、Javaが文字列が空であるかどうかを判断する4つの方法です。
4つの方法の効率は次のとおりです。
Judgestring1時間:625ms
JudgestRing2時間:125ms
Judgestring3時間:234ms
Judgestring4時間:109ms
コードコピーは次のとおりです。
/**
* Intellijのアイデアで作成されました。
*ユーザー:管理者
*日付:14-1-16
*時間:午前10時43分
*文字列が空であるかどうかを判断する効率
*/
パブリッククラスjudgestringisemptyornot {
public static void main(string [] args){
Judgestring1( "w_basketboy"、10000);
judgestring2( "w_basketboy"、10000);
JudgestRing3( "w_basketboy"、10000);
JudgestRing4( "w_basketboy"、10000);
}
/**
*方法1:ほとんどの人が使用する方法は直感的で、便利ですが、非常に非効率的です。
*方法2:文字列の長さを比較することが最良の方法です。
*方法3:Java SE 6.0によって提供される方法は提供し始めており、効率と方法2はほぼ同じですが、互換性の理由から、方法2を使用することをお勧めします。
*方法4:これは比較的直感的で単純な方法であり、効率も非常に高く、方法2および3の効率に似ています。
*/
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 time -suming:" +(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 time -suming:" +(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 time -suming:" +(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 time -suming:" +(endtime -starttiem) + "ms");
}
}