黑马程序员技术交流社区
标题:
集合问题
[打印本页]
作者:
高双武
时间:
2011-11-17 09:22
标题:
集合问题
package execisetest;
import java.util.*;
public class CollectionTest {
public static void main(String [] args){
ArrayList al=new ArrayList();
al.add(3);
al.add("jacaa");
sop(al);
}
public static void sop(Object obj){
System.out.println(obj);
}
}
al.add(3);
这里的3是不是装箱成了Integer对象?如果我想输出存储3的内存地址,可以吗?
作者:
坚强
时间:
2011-11-17 15:25
是的,相当与 new Integer(3);
输出地址方法我不知道为什么,但是可行
import java.util.*;
public class CollectionTest {
public static void main(String [] args){
ArrayList al=new ArrayList();
al.add(new pp("3"));
al.add(new pp("jacaa"));
System.out.println(al);
}
public static void sop(Object obj){
System.out.println(obj);
}
}
class pp
{
private String name;
pp(String name)
{
this.name=name;
}
}
复制代码
把对象封装,不封装会自动制表打印输出结果如下:
1.jpg
(4.79 KB, 下载次数: 8)
下载附件
2011-11-17 15:25 上传
2.jpg
(5.32 KB, 下载次数: 7)
下载附件
2011-11-17 15:25 上传
作者:
孙运强
时间:
2011-11-17 16:03
这就是关系到Integer的toString方法被重写了
public String toString() {
return String.valueOf(value);
}
hashCode方法也重写了,
public int hashCode() {
return value;
}
你若想实现你的要看的结果,可以删掉这两个方法,但实验完后情该变过来
在eclipse中你应该会看他的源码把。
作者:
quanhui
时间:
2011-11-17 17:58
我也觉得是封装了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2