在Java中数组的索引可以是负数吗?
我在上面写代码,编辑并没有判定它是非法的,但当我运行它时,它给了我 主线程java.lang.ArrayIndexOutOfBoundsException中出现异常:-1在Java中数组的索引可以是负数吗?,java,arrays,Java,Arrays,我在上面写代码,编辑并没有判定它是非法的,但当我运行它时,它给了我 主线程java.lang.ArrayIndexOutOfBoundsException中出现异常:-1 那么,java中的负数索引一直都是非法的吗?或者有一些特殊情况可以让数组的索引为负数?java不支持负索引。 最后一个元素可以使用 public static void main(String[] args) { int[] a = new int[10]; a[1] =2; a[-1] = -2;
那么,java中的负数索引一直都是非法的吗?或者有一些特殊情况可以让数组的索引为负数?java不支持负索引。 最后一个元素可以使用
public static void main(String[] args) {
int[] a = new int[10];
a[1] =2;
a[-1] = -2;
a[0] = 0;
System.out.println(a[-1]);
}
java中不支持负索引。 最后一个元素可以使用
public static void main(String[] args) {
int[] a = new int[10];
a[1] =2;
a[-1] = -2;
a[0] = 0;
System.out.println(a[-1]);
}
那么,java中的负数索引一直都是非法的吗
对
或者有一些特殊情况可以让数组的索引为负数
您可以编写自己的类似数组的集合类型,其中负索引是有效的。它应该是一种特定于域的类型,因为我想不出任何通用的应用程序
一个简单的例子是
array[array.length-1] = lastElement;
这不是我建议你做的。这对于任何Java开发人员来说都是令人困惑和不寻常的
那么,java中的负数索引一直都是非法的吗
对
或者有一些特殊情况可以让数组的索引为负数
您可以编写自己的类似数组的集合类型,其中负索引是有效的。它应该是一种特定于域的类型,因为我想不出任何通用的应用程序
一个简单的例子是
array[array.length-1] = lastElement;
这不是我建议你做的。对于任何Java开发人员来说,这都是令人困惑和不寻常的
略短的回答:数组索引的范围从0到数组长度减1
例如:
// define an anonymous class that overrides ArrayList's get behaviour
List<String> list = new ArrayList<String>() {
@Override
public String get(int index) {
return super.get(Math.abs(index));
}
};
list.add("a");
list.add("b");
System.out.println(list.get(-1)); // b
System.out.println(list.get(1)); // b
简短回答:没有
略短的回答:数组索引的范围从0到数组长度减1
例如:
// define an anonymous class that overrides ArrayList's get behaviour
List<String> list = new ArrayList<String>() {
@Override
public String get(int index) {
return super.get(Math.abs(index));
}
};
list.add("a");
list.add("b");
System.out.println(list.get(-1)); // b
System.out.println(list.get(1)); // b
让我们看一下Oracle的文档。它是这样说的: 数组对象包含许多变量。变量的数量可能为零,在这种情况下,数组称为空。数组中包含的变量没有名称;相反,它们由使用非负整数索引值的数组访问表达式引用。这些变量称为数组的组件。如果一个数组有n个分量,我们说n是数组的长度;数组的组件使用从0到n-1(包括0到n-1)的整数索引进行引用 而且 在运行时检查所有阵列访问;尝试使用索引 小于零或大于或等于 数组导致抛出ArrayIndexOutOfBoundsException
要回答这个问题,不,索引不能是负数。让我们看看Oracle的文档。它是这样说的: 数组对象包含许多变量。变量的数量可能为零,在这种情况下,数组称为空。数组中包含的变量没有名称;相反,它们由使用非负整数索引值的数组访问表达式引用。这些变量称为数组的组件。如果一个数组有n个分量,我们说n是数组的长度;数组的组件使用从0到n-1(包括0到n-1)的整数索引进行引用 而且 在运行时检查所有阵列访问;尝试使用索引 小于零或大于或等于 数组导致抛出ArrayIndexOutOfBoundsException
回答这个问题,不,指数不能是负的。简言之,不,指数不能是负的 例如,从使用get ArrayIndexOutOfBoundsException-如果指定的索引参数为负数,或者大于或等于指定数组的长度
简言之,不,它们不可能是消极的 例如,从使用get ArrayIndexOutOfBoundsException-如果指定的索引参数为负数,或者大于或等于指定数组的长度
在java中,不能使用负索引。它是基于0的正指数。如果使用负索引,java将抛出ArrayIndexOutOfBoundsException异常。在java中,不能使用负索引。它是基于0的正指数。如果使用负索引,java将抛出ArrayIndexOutOfBoundsException异常。java中的数组不能使用负数进行索引,问题是java中到目前为止还没有定义此类无符号整数,因此写入myArr[x]一旦x是一个有效的数字索引,就会编译。java中的数组不能使用负数进行索引,问题是到目前为止java中还没有定义这样的无符号整数,因此编写myArr[x]一旦x是有效的数字索引,就会编译。Java数组不能有负索引使用映射,那么编辑器只是一个助手,而不是判断者。编撰者是评判者:到目前为止,有八个答案说的是同样的话。有多少种方式可以说不?不,负指数不是po
但是如果你能说出你需要这个的确切原因,你的问题是可以解决的。Java数组不能有负索引使用映射,那么编辑器只是一个助手,而不是判断者。编撰者是评判者:到目前为止,有八个答案说的是同样的话。有多少种方法可以说不?不,负指数是不可能的,但如果你告诉确切的问题,为什么你需要这个,你的问题可以解决。