gpt4 book ai didi

java - 双向绑定(bind)两个不同值的属性时取哪个值?

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:11 25 4
gpt4 key购买 nike

当我在 JavaFx 中双向绑定(bind)两个以不同值开始的属性时,会采用哪个属性?

ObjectProperty<MyType> property1 = new SimpleObjectProperty(value1);
ObjectProperty<MyType> property2 = new SimpleObjectProperty(value2);
property1.bindBidirectional(property2);
// will both properties be set to value1 or to value2?

在我的测试中(设置略有不同),property2似乎被设置为值property1 。然而,这是巧合还是我可以依赖这种行为?我在 API 中没有找到任何与此相关的信息。

因为我无法确定,我目前使用以下模式,但这对我来说似乎多余:

ObjectProperty<MyType> property1 = new SimpleObjectProperty(value1);
ObjectProperty<MyType> property2 = new SimpleObjectProperty(value2);
property1.setValue(property2.getValue());
property1.bindBidirectional(property2);

最佳答案

javadoc没有指定行为,因此您所做的任何测试和发现都不应该依赖,因为 Java 的下一个版本可能会更改实现。

不要依赖未记录的行为,而是编写代码,这样内部实现就无关紧要了。

例如,为两个属性赋予相同的值:

ObjectProperty<MyType> property1 = new SimpleObjectProperty(value1);
ObjectProperty<MyType> property2 = new SimpleObjectProperty(value1);
property1.bindBidirectional(property2);

关于java - 双向绑定(bind)两个不同值的属性时取哪个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41700809/

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