如何在 Java 中初始化一个数组?

新手上路,请多包涵

我正在初始化一个这样的数组:

 public class Array {

    int data[] = new int[10];
    /** Creates a new instance of Array */
    public Array() {
        data[10] = {10,20,30,40,50,60,71,80,90,91};
    }
}

NetBeans 在这一行指出了一个错误:

 data[10] = {10,20,30,40,50,60,71,80,90,91};

我该如何解决这个问题?

原文由 chatty 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 602
2 个回答
data[10] = {10,20,30,40,50,60,71,80,90,91};

以上不正确(语法错误)。这意味着您正在将一个数组分配给 data[10] 它只能包含一个元素。

如果要初始化数组,请尝试使用 Array Initializer

 int[] data = {10,20,30,40,50,60,71,80,90,91};

// or

int[] data;
data = new int[] {10,20,30,40,50,60,71,80,90,91};

注意这两个声明之间的区别。将新数组分配给已声明的变量时,必须使用 new

即使您更正了语法,访问 data[10] 仍然不正确(您只能访问 data[0]data[9] 因为 Java 中的数组索引是从 0 开始的)。访问 data[10] 将抛出 ArrayIndexOutOfBoundsException

原文由 Prasoon Saurav 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试

data = new int[] {10,20,30,40,50,60,71,80,90,91 };

原文由 Dean Povey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题