【问题标题】:2d String Array NullPointerException (java)二维字符串数组 NullPointerException (java)
【发布时间】:2010-12-19 15:45:13
【问题描述】:

我目前正在创建一个 java 应用程序,其中我有一个二维数组,我想将一些数据放入其中。

我正在创建这样的二维数组

String[][] addressData;

然后当我尝试将数据放入时,我使用引用二维数组中的确切位置,我想将数据输入到例如

addressData[0][0] = "String Data";

当我运行程序时,我得到一个 NullPointerException 错误。 我是否使用错误的方法将数据输入到这个二维数组中?

【问题讨论】:

  • 您能添加更多代码吗?不是一个巨大的污点,只是一个编译并显示您正在讨论的行为的小例子。像“hello world”,但使用您的 String[][]。请记住您的 pre 和 code 标签...
  • 好的,它在一个简单的 helloworld 应用程序中运行
     public class Main { public static void main(String[] args) { String[][] addressData = null;地址数据[0][0] = "你好世界"; System.out.println(addressData[0][0]); } } 

标签: java nullpointerexception multidimensional-array


【解决方案1】:

String[][] addressData - 这只是声明,您必须创建实际对象 String[][] addressData = new String[size][size];

顺便说一句,java 中没有二维数组 String[][] 是字符串数组的数组

【讨论】:

  • 感谢您的回复,当我为二维数组设置大小时,它会起作用,但我不想限制二维数组的大小。它的范围可能只有几条数据到数千条,所以我不想要限制或空值。有没有办法解决这个问题?
  • 如果您不想固定大小,请将其设为列表数组而不是二维数组。
  • @Student01:解决它的唯一方法是不使用数组。您可以使用字符串列表的列表。
  • 正如我所写,它不是二维数组,而是数组数组。创建数组时必须给出大小,所以必须这样做: String[][] array = new String[Size][]; - 它将创建一个 String[] 类型的数组,其中长度 = 大小填充空值,但您可以将不同长度的数组放入其中,例如:array[0] = new String[10];数组[1] = 新字符串[50];等
  • ammoQ - 你不能制作列表数组(至少在使用泛型时)。制作泛型数组是不可能的
猜你喜欢
  • 2019-02-18
  • 2013-10-10
  • 1970-01-01
  • 2013-11-30
  • 2017-04-16
  • 2012-02-24
  • 2016-05-06
  • 2021-06-12
  • 1970-01-01
相关资源
最近更新 更多