str.split("!")
文字列に感嘆符が含まれている場合、文字列を半分に引っ張るためにを使用しています。コードの設定方法では、感嘆符がない場合は 1 インデックス配列を取得し、感嘆符がある場合は 2 インデックス配列を取得します。
コード:
String file, macroName;
String[] fileAndMacro = string.split("!");
if(fileAndMacro[0] != null)
file = new File(fileAndMacro[0]);
if(fileAndMacro[1] != null)
macroName = fileAndMacro[1];
感嘆符を含む文字列を入力すると、機能します。たとえば、 and"test!string"
を返します。fileAndMacro[0] = "test"
fileAndMacro[1] = "string"
問題は、感嘆符がない場合です (私のコードからわかる人もいるでしょう)。私は単にArrayIndexOutOfBoundsException
. したがって、明らかにヌルチェックはうまくいきません。値を格納するためのスペースが割り当てられていない場合、メモリに null 値が存在できないことを考えると、これは理にかなっています。
これについては理解していますが、その2番目のインデックスが存在するかどうかを確認する方法がわかりません。インデックスが存在するかどうかをリアルタイムで確認するにはどうすればよいですか?