gpt4 book ai didi

java - 预触发 propertyChangeEvent 的危险

转载 作者:行者123 更新时间:2023-11-30 06:11:57 24 4
gpt4 key购买 nike

在实际更改属性之前触发 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;
}

在单线程应用程序中,预触发事件有什么危险吗?还是有其他原因更喜欢在之后解雇?

最佳答案

在第二段代码中,您通知监听器状态已更改,但实际上状态并未更改,这既不好也不安全。如果监听器有自己的行为或状态更改(取决于通知时存在的新状态)怎么办?使用通知的主要规则之一是通知代码不需要了解监听代码对信息的作用,而您的第二位代码不满足这一点。坚持第一种方法。

关于java - 预触发 propertyChangeEvent 的危险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50048058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com