数组引用

时间:2013-11-23 19:18:51

标签: java arrays

如果我创建一个变量数组:

public String a;
public String b;
public String c;

public String[] d = {a,b,c};

它将包含{null,null,null};

如果我这样做:

a = "5";
System.out.println(d[0]);
a初始化时,

输出将为nulld

有没有办法创建“引用数组”,以便在这种情况下输出为5

编辑: PLOT TWIST!

代码的第一部分在某个类中。第二部分是在扩展第一部分的类中。

1 个答案:

答案 0 :(得分:1)

您可以使用自己的可变类包装String

class MyString {
    private String value;

    public MyString(String value) {
        this.value = value;
    }

    void setValue(String value) {
        this.value = value;
    }

    @Override
    public String toString() {
       return value;
    }
}

现在:

public MyString a = new MyString(null);
public MyString b = new MyString(null);
public MyString c = new MyString(null);

public MyString[] d = {a,b,c};

...

a.setValue("5");  // <--

但是,在调用a之前,您可能希望确保null不是setValue()