我正在尝试从用户分割输入,例如!stats username
该命令工作正常,但当用户不写!stats
用户名时
我的检查器失败并崩溃Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
if (!Config.str.split("!stats")[1].isEmpty()) {
}
答案 0 :(得分:2)
你需要检查数组的大小,如果没有用户名,那么Array只有一个索引为0的元素。你还可以在修剪后检查字符串是否为空,以检查命令是否只有空格&#34 ;!stats"
String[] split = Config.str.split("!stats");
if(split.length > 1 && !split[1].trim().isEmpty()) {
//do something
}
答案 1 :(得分:0)
str.split("!stats");
不会出错
你的情况是错误的,它会发出异常
boolean condition = Config.str.split("!stats").length<=0 ? false : true;
if (condition) {
//your code
}
也许你应该这样试试