Java 预触发PropertyChange事件的危险

Java 预触发PropertyChange事件的危险,java,swing,events,Java,Swing,Events,在实际更改属性之前触发propertyChangeEvent有什么危险(如果有) 目前我有很多代码如下所示: public void setConfidence (int newConfidence) { int old = confidence; confidence = newConfidence; pcs.firePropertyChange("confidence", old, confidence); } 在更改属性之前触发事件会更漂亮,并避免复制: publ

在实际更改属性之前触发propertyChangeEvent有什么危险(如果有)

目前我有很多代码如下所示:

public void setConfidence (int newConfidence) {
    int old = confidence;
    confidence = newConfidence;
    pcs.firePropertyChange("confidence", old, confidence);
}
在更改属性之前触发事件会更漂亮,并避免复制:

public void setConfidence (int newConfidence) {
    pcs.firePropertyChange("confidence", confidence, newConfidence);
    confidence = newConfidence;
}

在单线程应用程序中,预触发事件是否存在任何危险?或者其他更喜欢在之后触发的原因?

在您的第二段代码中,您通知侦听器状态已更改,但实际上没有更改,这既不好也不安全。如果侦听器有自己的行为或状态更改,这取决于通知时出现的新状态,该怎么办?使用通知的主要规则之一是,通知代码不需要知道侦听代码如何处理信息,并且您的第二位代码不满足这一点。坚持第一条路