黑马程序员技术交流社区

标题: 这是一个易宝支付曾经一个面试题来? [打印本页]

作者: 张龙欢    时间: 2013-5-23 22:56
标题: 这是一个易宝支付曾经一个面试题来?
本帖最后由 张龙欢 于 2013-5-24 20:30 编辑

执行ListTest.main的结果是什么?class Data {        int val;
        int getVal() {
                return val;
        }
        void setVal(int val) {
                this.val = val;
        }
}

public class ListTest {
        public static void main(String args []) {
                Data data = new Data();

                ArrayList list = new ArrayList();

                for (int i = 100; i < 103; i++) {
                        data.setVal(i);
                        list.add(data);
                }

                int j = 0;
                while (j < list.size()) {
                        Data tmp = (Data) list.get(j);
                        System.out.println("list(" + j + ") = " + tmp.getVal());
                        j++;
                }
        }
}
作者: ~与狼共舞~    时间: 2013-5-23 23:01
本帖最后由 ~与狼共舞~ 于 2013-5-23 23:09 编辑

结果为
list(0) = 102
list(1) = 102
list(2) = 102
对不对?

for (int i = 100; i < 103; i++) {
                        data.setVal(i);
                        list.add(data);
                }
输出的三个值都应该是 i 在for循环中所能取到的最大值,因为每add()进一个值,都会覆盖前面进入的值
作者: xiewen    时间: 2013-5-24 01:22
我在main方法中加入了这段代码   System.out.println(list.get(0)==list.get(1)); 输出的是true.说明存入的三个对象的地址是相同的,就是说存入的就是一个对象的地址。
                         黑马云青年为您解答
作者: 袁梦希    时间: 2013-5-24 01:24
xiewen 发表于 2013-5-24 01:22
我在main方法中加入了这段代码   System.out.println(list.get(0)==list.get(1)); 输出的是true.说明存入的 ...

如果问题以解决,请修改分类,谢谢合作。

尽量把问题详细全面一点提出来,如果不知道怎么提请看我的个性签名,点击红色的字体
作者: xiewen    时间: 2013-5-24 01:26
袁梦希 发表于 2013-5-24 01:24
如果问题以解决,请修改分类,谢谢合作。

尽量把问题详细全面一点提出来,如果不知道怎么提请看我的个性 ...

你也还没睡啊!
作者: 袁梦希    时间: 2013-5-24 01:26
楼主你好,如果问题以解决,请修改分类,谢谢合作。


作者: 袁梦希    时间: 2013-5-24 01:28
xiewen 发表于 2013-5-24 01:26
你也还没睡啊!

睡不着,撸帖子呢,看看有没有精彩的
作者: 张龙欢    时间: 2013-5-24 20:32
~与狼共舞~ 发表于 2013-5-23 23:01
结果为
list(0) = 102
list(1) = 102

是的!!!!!!!
作者: 张龙欢    时间: 2013-5-24 20:33
袁梦希 发表于 2013-5-24 01:26
楼主你好,如果问题以解决,请修改分类,谢谢合作。

希哥,不好意思现在才有时间,马上改过来!




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