String[][] temp = null;
temp[i][j] = one[j];
...
这样使用后报空指针问题?又是数组初始化问题?何解?
改成这样后还是不行,如下
String[][] temp = new String[100][];
然后我改成这样:
String[][] temp = new String[100][13];
...
问题消失,这是为什么?
排除了字符串中混有空格,上边输出的是读取的字符串,然后每行分割后存入one数组,到这步出现问题。。。
网上找了很多,没有结果,始终不知道自己错在哪里,望前辈解答,感激不尽
第一个问题,二维数组声明时如果想省略第二维的大小是可以的,但必须能通过初始化语句确定第二维大小。
String[][] array = new String[3][]{
{"1","2"},
{"3","4"},
{"5","6"}
};
或者:
Strin array[][] = new String[3][];
array[0] = new String[3];
array[1] = new String[2];
array[2] = new String[5];
第二个问题,你分割后取得的子字符串不全是数字啊!象shipno1什么的,
数组是定长的,如果你想可变,你可以用LIst
第一个问题:
String[][] temp = null;数组声明时temp初始化为空,下面这条 temp[i][j] = one[j];如果不报空那才叫怪事。
String[][] temp = new String[100][];一维初始化了,二维呢?你没有手动初始化,java怎么知道大小,java自动初始化为null,所以temp[i]为空
String[][] temp = new String[100][13];手动初始化数组,数组大小确定了,所以数组内容为空,不会报空指针
第二个问题:
错误信息是unknown source ,所以不是字符串格式的问题。你可以再测试一下,应该是没有问题的
调试了一下,这是为什么,什么原因我没有注意到?还是有什么知识我没有了解到?
所有的问题神奇般的消失了
string[][] temp = null;
temp = new String[getdata.size()][one.length];
先初始化为null,后面再new内存,解决了
后面的parseInt问题,不知道为什么消失了。。。无语,先往后做,以后有空在看是什么问题