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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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方法作为参数就是错误呢?

评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
admin + 1 + 1

查看全部评分

4 个回复

倒序浏览
ArrayList  中的当clear()  方法无返回值
格式:void clear()
          移除此列表中的所有元素。   。
你把clear() 写在sop(); 中当然会报错
直接调用就可以了

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
al.size(),这个函数有返回值,返回的是集合中元素的个数,返回值为int。因此可以直接打印;但是al.clear(),这个函数没有返回值,你要怎么打印出来结果呢?
回复 使用道具 举报
原来如此啊

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
并不是没有返回值
而是方法返回了空值。
void其实算一个特殊的值。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马