黑马程序员技术交流社区
标题:
复习--集合时出现的函数问题。版主给个技术哈
[打印本页]
作者:
赵志勇
时间:
2012-5-29 19:54
标题:
复习--集合时出现的函数问题。版主给个技术哈
昨天回家时复习了集合部分,可是看到了那个自定义的sop 函数时,误入歧途了怎么也想不开,望大侠救命!
class CollectionDemo
{
public static void main(String[] args)
{
method_get();
}
public static void method_get()
{
ArrayList al = new ArrayList();
//1,添加元素。
al.add("java01");//add(Object obj);
al.add("java02");
al.add("java03");
al.add("java04");
/*
Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。
while(it.hasNext())
{
sop(it.next());
}
*/
for(Iterator it = al.iterator(); it.hasNext() ; )
{
sop(it.next());
}
}
public static void method_2()
{
ArrayList al1 = new ArrayList();
al1.add("java01");
al1.add("java02");
al1.add("java03");
al1.add("java04");
ArrayList al2 = new ArrayList();
al2.add("java03");
al2.add("java04");
al2.add("java05");
al2.add("java06");
//al1.retainAll(al2);//去交集,al1中只会保留和al2中相同的元素。
al1.removeAll(al2);
sop("al1:"+al1);
sop("al2:"+al2);
}
public static void base_method()
{
//创建一个集合容器。使用Collection接口的子类。ArrayList
ArrayList al = new ArrayList();
//1,添加元素。
al.add("java01");//add(Object obj);
al.add("java02");
al.add("java03");
al.add("java04");
//打印原集合。
sop("原集合:"+al);
//3,删除元素。
//al.remove("java02");
//al.clear();//清空集合。
//4,判断元素。
sop("java03是否存在:"+al.contains("java03"));
sop("集合是否为空?"+al.isEmpty());
//2,获取个数。集合长度。
sop("size:"+al.size());
//打印改变后的集合。
sop(al);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}程序结束。
这个sop函数的形式的参数类型是object 类,可是在主函数调用时
sop("size:"+al.size());实际参数类型是al.size().这是怎么回事呢?
作者:
秦冲
时间:
2012-5-29 20:04
终于看清楚了你的问题~~, sop("size:"+al.size());
a1.size():----->返回集合中的个数 int类型,那么("size:"+ int类型)----->转化为字符串, 假设返回4了,如: "size:4"
你传入到sop方法里的参数其实是String类型的了,然后sop 调用String的toString()方法打印字符串中的内容。
作者:
杨天皓
时间:
2012-5-29 20:22
sop("size:"+al.size());
首先想问你
? a = 1+""; 应该是一个什么类型?
这应该是String a = 1+"";
那你sop里面接收的同样也是一个字符串加上一个int类型的值。
那返回的就是个字符串。
作者:
赵志勇
时间:
2012-5-29 20:31
秦冲 发表于 2012-5-29 20:04
终于看清楚了你的问题~~, sop("size:"+al.size());
a1.size():----->返回集合中的个数 int类型,那么(" ...
其实你没有看懂,自定义的sop 函数里的形参是object类,而实参给的是string .我不明白在这个地方。这个:handshake你知道吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2