比方说,我在Java中创建了一个Person类如何知道一个实例的所有成员变量都没有设置?
public class Person
{
private String name;
private int age;
// lot of other member variables
// get set here
}
如何知道的实例此实例是否至少有被设置成员变量的一个(没有一个?
检查所有的变量之一例如:
Person person = new Person();
Person person1 = new Person();
person1.setName("John");
我需要知道那个人实例尚未设置任何变量但是PERSON1已至少设置一个变量
。我能想到的解决这是
- 创建被更改为true,每一套方法,或
- 创建检查一个变量一个方法布尔标志。
但我不知道是否有更优雅的方法来做到这一点。
允许创建一个有名字但没有年龄或年龄但没有名字的“人”实体是否有意义?这里的设计有很大的缺陷,但是不清楚你是否在寻求设计方面的帮助,或者这只是一个例子,可以用来解释关于分配到领域的更多机械问题。 – seh
我们将它用于标准选择目的(只选择Person将选择所有的数据库,选择名称='Tom'将只选择名称为tom的人等)。但在这里,我只想确保模块不会盲目传递可能导致性能问题的Person的空实例。 – Rudy
向您的类中添加一个int,并在每个setter调用中增加它。很多核心Java类使用这种方法来跟踪数据的变化 - 例如Calendar和misc List实现。 NB:一旦有40亿更新,你的柜台就会溢出并重演。 –