Java从命令中拆分参数

时间:2016-04-22 20:03:54

标签: java parameters split

我正在尝试从用户分割输入,例如!stats username 该命令工作正常,但当用户不写!stats用户名时 我的检查器失败并崩溃Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

if (!Config.str.split("!stats")[1].isEmpty()) {
}

2 个答案:

答案 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 
            }

也许你应该这样试试