我有一个类“deletionDate”和“experiationDate”这两个字段都可以是未定义的,这意味着该对象是否被删除,也没有到期日期。如何用java.util.Date表示“never”?
我的第一种方法是:
private Date deletionDate = null; // null means not deleted
铭记书“清洁守则”我记得更好的使用表现力的名称,而不是评论。所以我目前的解决方案是:
private static final Date NEVER = null;
private Date deletionDate = NEVER;
我可以用户围绕日期的包装类,但这会使JPA映射复杂。
您对此有何看法?你会如何表达“从不”?
+1,决不是永远。^ – KB22 2010-01-08 11:26:14
也为+1绝不是从来没有的,但请注意,使用空的问题表示“设置为永不”的是,它意味着你不需要再有一种方法来表明“尚未设置”。 这是一个应用程序问题,即是否是重要的,但它很容易想象OP后来发现需要保存的值是否已设置的轨道,导致需要第二次‘布尔hasBeenSet’变量对每个,这将是恶心。 – CPerkins 2010-01-08 18:37:54
注意,*如果*您选择'null'对于这一点,你一定要记录这个意思。作为@CPerkins笔记,'null'的确切含义可以根据具体情况逐案有所不同。有时'null'是错误的(即:不能永远进行设置),有时它的意思是“未知”,有时它的意思是“尚未设置”,... – 2011-06-07 08:12:46