-2

参照渡しは私に少し頭痛の種を与えているので、コミュニティの他の人々がこの質問をどのように混乱させるかを見たいと思います。ばかげた質問だと思われる場合は、お気軽にご連絡ください。

次のプログラムの出力は何と言いますか?

class Demo {
    public static void main(String[] args) {
        ArrayList<Container> list = new ArrayList<Container>();
        Container c1 = new Container();
        Container c2 = new Container();
        c1.setSt("c1");
        c2.setSt("c2");
        list.add(c1);
        list.add(c2);

        Container c3 = new Container();
        c3.setSt("c3");
        modify(list, c3);

        for (Container st : list) {
            System.out.println(st.getSt());
        }
        System.out.println("c3.st: " + c3.getSt());
    }

    private static void modify(ArrayList<Container> list, Container container) {
        list.get(1).setSt("modified");
        container.setSt("modified c3");
        container = new Container();
        container.setSt("new container");
    }
}

class Container {
    private String st;

    public String getSt() {
        return st;
    }

    public void setSt(String st) {
        this.st = st;
    }
}
4

1 に答える 1

0

です

c1
modified
c3.st: modified c3

私は何に勝ちますか?

于 2013-02-18T17:55:10.417 に答える