java中的字符串转换抛出数组索引超出范围异常

发布于 2024-08-16 12:40:47 字数 340 浏览 6 评论 0原文

我编写了以下代码,但它抛出数组索引超出范围异常

    String options = "" + args[0];

    if (options.toLowerCase().contains("failover"))
    {
        dataToPass[0]= "failover";
        callScript("Clus1toNfastfastsamehost",dataToPass);
    }

: 异常名称 = java.lang.ArrayIndexOutOfBoundsException exception_message = 数组索引超出范围:1

I have written following code but it is throwing array index out of range exception

    String options = "" + args[0];

    if (options.toLowerCase().contains("failover"))
    {
        dataToPass[0]= "failover";
        callScript("Clus1toNfastfastsamehost",dataToPass);
    }

Exceptions:
exception_name = java.lang.ArrayIndexOutOfBoundsException
exception_message = Array index out of range: 1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

他夏了夏天 2024-08-23 12:40:47

好吧,要么您没有为 dataToPass[] 分配足够的内存,要么您没有将参数传递给程序。如果没有传递任何参数,则 args 是一个零长度数组。调试对你来说是一个不错的选择。

Well, Either you are not allocated enough memory the dataToPass[] or you have not pass arguments to the program. If no arguments is passed then args, it's a zero length array. Debugging will be a good option for you mate.

水染的天色ゝ 2024-08-23 12:40:47

您没有向您的程序传递参数。

You are not passing an argument to your program.

墟烟 2024-08-23 12:40:47

嗯,这是一个简单的例外。检查所有数组长度。 args 中有多少项?在数据传递中?考虑使用调试器。

Well, it's a straightforward exception. Check all your array lengths. How many items are in args? In dataToPass? Consider using a debugger.

故事和酒 2024-08-23 12:40:47

使用代码修复进行更新

String options = ""
if (args.length > 0)
  options += args[0]

原始评论:

示例代码中有两个地方引用了数组。 args[0]dataToPass[0]

它必须是这两者之一。所以,a) 你没有向程序传递任何参数,并且 args[0] 没有定义——这对我来说似乎很奇怪,因为我认为 args[0] 是程序名称或 b) < code>dataToPass[0] 未分配 - dataToPass 是零长度数组而不是 1 长度数组吗?

UPDATE WITH CODE FIX

String options = ""
if (args.length > 0)
  options += args[0]

Original comments:

There are two places you reference an array in the example code. args[0] and dataToPass[0]

It must be one of those two. So, a) you are not passing any arguments to the programs and args[0] is not defined -- this seems strange to me because I thought args[0] was the program name or b) dataToPass[0] was not allocated -- is dataToPass a zero length array and not a 1 length array?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文