我正在使用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];
如果我输入一个带有感叹号的字符串,它就可以工作。例如"test!string"
将返回fileAndMacro[0] = "test"
and fileAndMacro[1] = "string"
。
问题是当我没有感叹号时(你们中的一些人可能从我的代码中看出)。我只是得到一个ArrayIndexOutOfBoundsException
. 因此,显然空检查并不能解决问题。如果没有为要存储的值分配空间,考虑到内存中不能有空值,这是有道理的。
尽管我对此有所了解,但我不确定如何检查第二个索引是否存在。如何实时检查索引是否存在?