java类中的依赖属性

时间:2010-09-11 19:25:31

标签: java class attributes

我有一个java类如下:

public class Query implements Serializable {
    static Object[] o= new Object[8];

    private long oid= (Long) o[0];
    private double[] region= { (Double) o[1],(Double) o[2],(Double) o[3]  };
    private boolean filter= (Boolean) o[4];
    private float[] vel= {(Float) o[5], (Float) o[6]};
    private float[] pos= {(Float) o[7], (Float) o[8]};

    public Query(Object[] b){
        o=b;
    }

类查询将是一个对象数组,我想在Object [] o和oid,region,...之间建立依赖关系。

如果我更改区域的值,对象[]中的相应值将自动更改。

你能否建议我有效地做到这一点。谢谢!

2 个答案:

答案 0 :(得分:3)

您需要将所有原始/不可变类型包装在一个可变类型中,以便您可以只引用它。使用Javabean是一种常见的方法。

public class Data {
    private long id;
    private double[] region;
    private boolean filter;
    private float[] vel;
    private float[] pos;

    // Add or generate c'tors/getters/setters/equals/hashcode/tostring here.
}

这样你就可以做到

public class Query {
    private Data data;

    public Query(Data data) {
        this.data = data;
    }
}

答案 1 :(得分:0)

我肯定会在这里使用builder design pattern。它将首先确保类型安全。你可以使用原始类型......在你的实现中,类客户端只需要一个错误来接收运行时异常。这会回答你的问题吗?