我在将list [array.length]引用传递给s时遇到异常java.lang.ArrayIndexOutOfBoundsException。
import java.io.*;
public class Test
{
public void demo(String [] list)
{
try
{
String s=list[list.length];// error
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("The exception is"+e);
}
finally
{
System.out.println("Finally here.");
}
}
public static void main(String [] args)
{
Test t=new Test();
String [] list={"one","two"};
t.demo(list);
System.out.println("Done!");
}
}
答案 0 :(得分:3)
如果你有一个长度为5的数组,你将在索引0-4上有元素,并且你正在尝试访问第5个元素。
如果您想访问最后一个元素:
String s = list[list.length - 1];
答案 1 :(得分:1)
String s=list[list.length];
数组从0索引,因此最后一项是list.length-1
答案 2 :(得分:1)
大多数编程语言中的索引从零开始。因此,您可以使用范围[0, length - 1]
中的索引。但是,在行
String s = list[list.length];
您使用的索引无效。应该是(最多):
String s = list[list.length - 1];
答案 3 :(得分:1)
基于零。所以你必须写:
String s=list[list.length-1];
list.length为您提供数组中元素的数量(2),但数组中的最后一个元素位于索引1上
答案 4 :(得分:1)
由于该行,您获得了Exception
:
String s=list[list.length];
永远记住:
Last-index_of_an_Array = Array-length - 1 // because array index starts from 0
所以,试试:
String s=list[list.length - 1];
答案 5 :(得分:1)
String [] list={"one","two"};
list[0] value is "one";
list[1] value is "two";
list.length value is 2
String s=list[list.length];// error
因为
String s=list[2];// error
java.lang.ArrayIndexOutOfBoundsException