黑马程序员技术交流社区

标题: 为什么在关于集合的程序中对clear方法的操作和其他方法不同 [打印本页]

作者: 张翼    时间: 2011-11-9 09:49
标题: 为什么在关于集合的程序中对clear方法的操作和其他方法不同
public class acc
{
        public static void main(String argv[])
        {
                ArrayList al=new ArrayList();
                al.add("java1");
                al.add("java2");
                al.add("java3");
                sop(al.size());
                sop(al);
                sop(al.clear());//无法编译
                sop(al.remove("java2"));
                al.clear();
                sop(al);
               
        }
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}
用sop输出集合时候,为什么使用size等方法就可以直接当作参数,然后输出,但是clear方法作为参数就是错误呢?
作者: 范龙彬    时间: 2011-11-9 09:58
ArrayList  中的当clear()  方法无返回值
格式:void clear()
          移除此列表中的所有元素。   。
你把clear() 写在sop(); 中当然会报错
直接调用就可以了
作者: 成杰    时间: 2011-11-9 10:01
al.size(),这个函数有返回值,返回的是集合中元素的个数,返回值为int。因此可以直接打印;但是al.clear(),这个函数没有返回值,你要怎么打印出来结果呢?
作者: 张翼    时间: 2011-11-9 10:27
原来如此啊
作者: 柴亚飞    时间: 2011-11-9 15:22
并不是没有返回值
而是方法返回了空值。
void其实算一个特殊的值。




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