我有一个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,...之间建立依赖关系。
如果我更改区域的值,对象[]中的相应值将自动更改。
你能否建议我有效地做到这一点。谢谢!
答案 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。它将首先确保类型安全。你可以使用原始类型......在你的实现中,类客户端只需要一个错误来接收运行时异常。这会回答你的问题吗?