【问题标题】:null pointer exception string 2d array in javajava中的空指针异常字符串二维数组
【发布时间】:2012-10-02 16:00:35
【问题描述】:
public String[][] fetchData()
{
    String[][] data = null;
    int counter = 0;
    while (counter < 10){
        data[counter] = new String[] {"abc"};
        counter++;
    }
    return data;
}

在这个循环中得到错误。 请让我知道我错在哪里

【问题讨论】:

    标签: java arrays string 2d


    【解决方案1】:

    您需要为数据分配内存。

    String[][] data = new String[ROW][COLUMN].
    

    阅读this

    【讨论】:

    • 好手!你哪来的照片?这是上一本书的封面吗?
    • @Code-Guru 不。这是封面:tor.com/blogs/2012/05/…
    • 甜蜜!我喜欢它!等不及了!
    • @Code-Guru I 也是。我希望你读完第一章。如果不是这里是链接。最后有些剧透! tor.com/stories/2012/09/…
    • 我找到了序章,但没有找到第一章。稍后我将不得不找时间阅读它们。
    【解决方案2】:
    String[][] data = null;
    

    ==> 尝试写入数据时出现空指针异常

    你可能会这样做

    String[][] data = new String[10][];
    

    【讨论】:

      【解决方案3】:

      您获得了 NPE,因为您将 data 显式设置为 null

      String[][] data = null;
      

      需要先分配行数:

      String[][] data = new String[][NUMBER_OF_ROWS];
      

      【讨论】:

        【解决方案4】:
        data[counter] = new String[] {"abc"};
        

        这里你把“abc”放到数组中,但是如果它只有一个单元格,为什么还要使用数组呢?

        data[counter] = new String("sample string");
        

        就够了。而且你还需要将“数据”声明为一维数组。

        【讨论】:

          猜你喜欢
          • 2012-02-05
          • 2011-02-07
          • 1970-01-01
          • 1970-01-01
          • 2014-12-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多