java泛型 List<String>[] list=new ArrayList[10]; list[1].add("abc");//空指针异常,这是为什么? 40

 我来答
leandzgc
2012-09-05 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:167
采纳率:100%
帮助的人:59.3万
展开全部
同意楼上,因为你是刚刚创建的一个数组对象,这时候这个对象里面的数组还没有初始化,你需要给它赋值,而不是add。另外一个,java中数组下标是从0开始的。
List<String>[] list=new ArrayList[10];
list[0] = "abc";
list[1] = "def";
list[2] = "ghi";
...
list[9] = "aaa";
百度网友e52595d
2012-09-05 · TA获得超过215个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:157万
展开全部
List<String>[] list=new ArrayList[10];这句是声明了一个List类型的数组,数组的元素是List,大小为10,但这个数组中还没有对象,都为空(null)
list[1]=new ArrayList(); 必须先这样声明数组里的元素,才能使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oliverpp
2012-09-05 · TA获得超过988个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:648万
展开全部
list[1].add("abc")等于是null.add("abc"),因为你只初始化了list,并没有初始化里面每一个对象
下面这样才行
List<String>[] list=new ArrayList[10];
list[1] = new ArrayList();
list[1].add("abc");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwwka31cn
2012-09-05 · TA获得超过146个赞
知道答主
回答量:73
采纳率:0%
帮助的人:41.7万
展开全部
1 import java.util.*;
2 public class Fanxing{

3 public static void main(String args[]){
//初始化一个数组长度为10。里面每的一个类型为List<String>类型
4 List<String> list[]=new ArrayList[10];//使用ArrayList初始化长度为10(因为List是接口所以只能使用其子类初始化,初始化就是指定数组长度)的数组,或者理解为创建长度为10的数组。
//为数组中第2个变量赋初值。
5 list[1]=new ArrayList();
//操作该初值,初值为List链表,操作链表为链表增加一个值;
6 list[1].add("sss");//增加String正确
7 list[1].add(new Integer(10));//增加Integer错误,证明第6行的List<String>对list[]变量的泛型约束有效
8 String s=list[1].get(0);//没有报类型转换错误,同样证明第6行的List<String>对list[]变量的泛型约束有效
9 System.out.println(s);
}

}
/**
*第7行就是指定一个数组的长度,数组的初始化,是固定写法,不可以写作 new ArrayList<String>();之所以有这个数组初始化的另类,是因为sun要告知Java程序员泛型并不存在于JVM。
*总结 语法规则:数组的初始化的含义即指定数组的长度,需要注意的是泛型类型的数组初始化必须使用自然类型。sun是为了告知Java程序员泛型并不存在于JVM
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c4f1cc
2012-09-05
知道答主
回答量:12
采纳率:0%
帮助的人:1.6万
展开全部
list[0] 是个List 你没有初始化就Add 必然 空指针,
应该这样:
List<String>[] list=new ArrayList[10];
list[1] = new ArrayList<String>();
list[1].add("abc");
望采纳
我了个擦,我晚了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式