索引0超出长度0的范围

时间:2020-06-28 05:30:29

标签: java

我在这里遇到此错误: 线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:索引0的长度为0超出范围

 @override
    void initState()   {
    Future.delayed(const Duration(milliseconds: 16), () {
    // Anything that use your key will go here.
    });
    super.initState();
    }

4 个答案:

答案 0 :(得分:0)

您需要在cmd上以Java MyProgram abc xyz的身份运行代码,然后args将包含[“ abc”,“ xyz”]。也许您现在不这样做,因此会收到错误消息。

答案 1 :(得分:0)

您需要像这样提供命令行参数:

CourseDetailDeleteView.update

这些参数传递给数组serializer.is_valid(raise_exception=True),该数组将包含java MyClass k foo bar

因此,args[]将是{"k", "foo", "bar"},而args.length将是3

答案 2 :(得分:0)

如果通过IDE执行并且未设置参数,或者在通过cmd运行时未传递命令行参数,则会收到此错误。

但是对于此程序,即使您传递参数,它也可能在无限循环中运行,因为条件始终为真。

答案 3 :(得分:0)

您正在执行不带参数的java类。在那种情况下,args [0]现在确实存在,并因此出现带有错误的异常消息。

您可以通过以下形式修改if:

if(args[0].equals("k") && args.length > 0 )

所以您不会在消息中出现异常

索引0超出长度0的范围

您的程序产生的输出没有错误,当运行带有参数“ k”的程序时,将产生打印k的无限外观。为此,您需要运行命令java printKjavaFile k,或使用此参数从IDE启动它。