#java は文字が空かどうかを判断します
以下に、文字が空かどうかを判断する 4 つの方法をまとめます。 Javaメソッドでは空です。お役に立てば幸いです。方法 1. 最も一般的な方法。直感的で便利ですが、非常に非効率です。
if(s == null || s.equals(""));
方法 2. 文字列の長さを比較します。効率的です。高いです。私が知っている最良の方法:
if(s == null || s.length() == 0);
方法 3 は、Java SE 6.0 で提供され始めた方法で、方法 2 とほぼ同じくらい効率的ですが、互換性の理由から、これをお勧めします。方法 2 を使用します。
if(s == null || s.isEmpty());
方法 4。これは比較的直感的でシンプルな方法であり、効率も非常に高いです。方法 2 および 3 とほぼ同じくらい効率的です:
if (s == null || s == "");注: s == null が必要です。
(推奨チュートリアル: java チュートリアル)
String 型が null の場合、equals(String) や length() などの操作は java.lang.NullPointerException をスローします。また、s==null の順序が前に現れる必要があります。それ以外の場合は、java.lang.NullPointerException.次の Java コード:String str = null; f(str.equals("") || str == null){//会抛出异常 System.out.println("success"); }
補足:
1 もスローされます。空の文字列null1. Typenull は文字列ではなくオブジェクトの値を表します。たとえば、オブジェクトへの参照を宣言する場合、 String a = null; "" は空の文字列を表し、長さが 0 であることを意味します。たとえば、文字列 String str = "" ;2. メモリ割り当てString str = null ; を宣言すると、文字列オブジェクトへの参照を宣言しますが、ポインタは null になります。つまり、これはまだメモリ空間を指していません; String str = ""; は、値が "" 空の文字列である文字列型の参照を宣言することを意味します。この str 参照はメモリ空間を指しています。空の文字列のスペース; Java では、変数と参照変数はスタック (スタック) に格納され、オブジェクト (new によって生成された) はヒープ (ヒープ) に格納されます。
String str = new String("abc") ;ps: =左側のものはスタック(stack)に格納され、=右側のものはヒープ(heap)に格納されます。 3. サンプル プログラム:
public class String_Demo01 { 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 } }上記のプログラムにより、次の結論が得られます: 文字列オブジェクトと null の値は等しくなく、メモリ アドレスも等しくありません。;空の文字列オブジェクトの値は null と等しくなく、メモリ アドレスも等しくありません;new String() は文字列オブジェクトを作成しますデフォルト値は「」(文字列型メンバ 変数の初期値はnull)
以上がJavaは文字が空かどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。