Double PropertyBase中get()和Get Value()之间有什么区别?

时间:2014-06-04 16:21:09

标签: java properties javafx

我有这个列表,我看不出目的是什么:

DoubleProperty value = new DoublePropertyBase(0) {
        @Override protected void invalidated() {
            if (getValue() < get()) setValue(get());
        }
        @Override public String getName() { return "value"; }
    };

就像getValue()是新的值而get()是旧的,但文档并没有这么说。

1 个答案:

答案 0 :(得分:7)

如果查看DoubleProperty超级类的源代码,您可以看到booth方法返回相同的值。获取原始类型double和getValue对象Double

javafx.beans.binding.DoubleExpression

@Override
public Double getValue() {
return get();
}

javafx.beans.property.ReadOnlyDoubleProperty

@Override
public double get() {
valid = true;
final T value = property.getValue();
return value == null ? 0.0 : value.doubleValue();