如果我们必须区分类中属性的'undefined'值和'null'值,那么应用程序中遵循的常用方法是什么?
例如,假设我们有一个A类
public class A {
Integer int1;
Boolean bool1;
Double doub1;
String str1;
}
Run Code Online (Sandbox Code Playgroud)
在代码中,我们想区分A的每个属性是否已设置(null是要设置的VALID值).
一种方法是从java数据类型扩展自定义数据类型.其他方法是为每种数据类型分配一些任意不可达的值,并将这些值视为undef.
还有其他更好的方法吗?
我会使用泛型来创建一个包含'set'标志的包装器.
public class Settable<T> {
private boolean isSet = false;
private T value;
public Settable() {}
public boolean isSet() {return isSet;}
public T value() { return value;}
public void set(T t) { value = t; isSet = true;}
}
Run Code Online (Sandbox Code Playgroud)
...然后用例如声明你的班级
public class A {
//...
Settable<Integer> int1;
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |