Dodgy - 从实例方法
写入静态字段这是它所指的行:
record.setEarliestTradeDate(earliestTradeDate = value.earliestTradeDate);
更多代码:
Record record = getRecord(value.id);
private static Date earliestTradeDate = null;
public void setEarliestTradeDate(Date newValue) { earliestTradeDate = newValue; }
绝对不会导致任何错误,但我想清理任何红色标记行的项目。
答案 0 :(得分:1)
这是一个提示,可以更改静态
static Date earliestTradeDate
在实例方法中(即非静态)
public void setEarliestTradeDate
这是(或可能有问题),因为对象的所有实例都可以更改该变量的状态 您可以通过使方法静态来解决此问题,以便静态变量将在静态上下文中更改。在我看来,这是正确的方法,因为最早的日期是代码中的某个固定点。
public static void setEarliestTradeDate
或者将此Date作为实例变量:
private Date earliestTradeDate
这也可能是singleton pattern。
的情况