黑马程序员技术交流社区

标题: 这段ArrayList的代码为什么没有输出 [打印本页]

作者: 黑马张旭明    时间: 2012-8-17 21:29
标题: 这段ArrayList的代码为什么没有输出
import java.util.*;
class CollectionDemo
{
     public static void main(String[] args)
     {
        ArrayList al = new ArrayList();
   
        al.add("java01");
        al.add("java02");
        al.add("java03");
        al.add("java04");
        //al.add(p);                       //这句注释掉了以后就有输出了
        Person p = new Person();
      
       S("size:"+al.size());
        sop(al);
        
     }
    }
class Person
{
  private String name;
  private int age;
   
}  
今天看视频讲到ArrayList,于是照着老师的代码打了一遍,看添加的全是字符串对象,输出的也是字符串,自己搞了个Person类的对象也添加了进去,但是居然没有输出,连原来的字符串都不输出了,注释掉了以后又有输出了,不知道这么回事

作者: 苑占丽    时间: 2012-8-17 21:42
package org.heima.com.Test;
import java.util.ArrayList;
public class CollectinDemo
{

public static void main(String[] args)
     {
        ArrayList al = new ArrayList();
   
        al.add("java01");
        al.add("java02");
        al.add("java03");
        al.add("java04");
                           
        Person p = new Person();
        al.add(p); //把这句话放在这里啊,因为,刚才你添加的时候,这个对象还没创建呢
      sop("size:"+al.size());
        sop(al);
        
     }
     
     public static void sop(Object obj){
   System.out.println(obj);
  }
    }
class Person
{
  private String name;
  private int age;
   
}  


-------------------------------
运行结果如下:

作者: 徐小骥    时间: 2012-8-17 21:50
你的代码应该不能通过编译吧!    你在没有创建p对象的时候就在数组里面添加p对象——al.add(p);   应该把 Person p = new Person()放在al.add(p)前面
作者: 黑马振鹏    时间: 2012-8-17 22:00
建议楼主加快学习,后面有泛型知识,用上泛型以后,就会避免这个问题。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2