空文字列かを判定
はじめに
空文字列とは、長さが0の文字列です。つまり、文字がないことを意味して意います。
Javaでは、半角のダブルコーテーションを2つ並べて、""と表現します。
Javaソースコード - 文字数で空文字と判定
IsEmptyString1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019
public class IsEmptyString1 { public static void main( String[] args ) { // 文字列 String str1 = "ABCDEFG"; String str2 = ";" // str1が空文字列かを判定 if ( 0 == str1.length() ) System.out.println( "str1は空文字列です" ); else System.out.println( "str1は空文字列ではありません" ); // str2が空文字列かを判定 if ( 0 == str2.length() ) System.out.println( "str2は空文字列です" ); else System.out.println( "str2は空文字列ではありません" ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis IsEmptyString1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac IsEmptyString1.java
実行
C:\talavax\javasample>java IsEmptyString1
実行結果
str1は空文字列ではありません str2は空文字列です
Javaソースコード - ""で空文字と判定
2つ目のJavaソースコード例は、equalsメソッドで文字列が""と等しいかを判定する方法です。
IsEmptyString2.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019
public class IsEmptyString2 { public static void main( String[] args ) { // 文字列 String str1 = "ABCDEFG"; String str2 = ";" // str1が空文字列かを判定 if ( true == str1.equals( " ) )" System.out.println( "str1は空文字列です" ); else System.out.println( "str1は空文字列ではありません" ); // str2が空文字列かを判定 if ( true == str2.equals( " ) )" System.out.println( "str2は空文字列です" ); else System.out.println( "str2は空文字列ではありません" ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis IsEmptyString2.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac IsEmptyString2.java
実行
C:\talavax\javasample>java IsEmptyString2
実行結果
str1は空文字列ではありません str2は空文字列です
以上です。