A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王怡然 黑马帝   /  2012-5-7 13:13  /  1427 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. <div class="blockcode"><blockquote>
  2. public class ListTest {
  3. public static void main(String[] args){
  4.   Person p1 = new Person("张三",20);
  5.   Person p2 = new Person("李四",21);
  6.   Person p3 = new Person("王五",22);
  7.   
  8.   List list = new ArrayList();
  9.   
  10.   list.add(new Person("赵六",23));
  11.   System.out.println(list.get(0));
  12.   System.out.println(list.get(1));
  13.   System.out.println(list.get(2));
  14.   System.out.println(list.get(3));
  15.   System.out.println(list.size());
  16. }
  17. }<blockquote>
复制代码
list.add是添加元素,
上面的Person p1 = new Person("张三",20);
和它的区别是什么?  
我在下面获取了4个角标上的内容,以及长度,
但是会报错,只有0角标上有内容,求解~

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
详细请查看以下图片

无标题.jpg (71.79 KB, 下载次数: 26)

无标题.jpg

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
list你只进行了一次add 对吧,那么自然里面是有index=0 有内容了,
要get(1、2、3) 都有内容那么 你就应该list.add(p1),add(p2), add(p3)
list是一个链表(实际是数组形式的),你必须把元素添加到这个链表中,它里面才会有值,明白么?
回复 使用道具 举报
public class ListTest {

public static void main(String[] args){

  Person p1 = new Person("张三",20);//这行的意思是创建一个Person对象,把这个对象的内存地址付给p1

  Person p2 = new Person("李四",21);

  Person p3 = new Person("王五",22);

  

  List list = new ArrayList();//这里是创建一个arraylist集合对象,这里用的是多态因你定义的变量类型是list,list是arraylist的父类
                                                                //集合是用于存储对象的
  

  list.add(new Person("赵六",23));//add的方法是把对象添加到集合里面,你这只添加了一个对象,所以集合里面有一个元素

  System.out.println(list.get(0));

  System.out.println(list.get(1));

  System.out.println(list.get(2));

  System.out.println(list.get(3));

  System.out.println(list.size());

}

}
回复 使用道具 举报
黄或俊 发表于 2012-5-7 13:22
详细请查看以下图片

明白了,  是创建对象个数问题,根本就不是一个对象.谢了.
回复 使用道具 举报
Person p1 = new Person("张三",20);是创建对象
list.add(new Person("赵六",23));//list.add()是往集合加对象;//new Person("赵六",23)是创建匿名对象
你虽然创建了4个对象,但你之加入了一个,所以会报错。
建议楼主,看看毕老师的视频,(虽然视频看的过程很长,但要坚持,每一个合格黑马都是这么过来的)
坚定信念 努力 加油 让我们一块进步吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马