SimpleStringProperty set() 与 setValue()

2024-01-28

有什么区别set(String) and setValue(String) in the SimpleStringProperty http://docs.oracle.com/javafx/2/api/javafx/beans/property/StringProperty.html#setValue%28java.lang.String%29 class?

我知道set(String)源自StringPropertyBase http://docs.oracle.com/javafx/2/api/javafx/beans/property/StringPropertyBase.html#set%28java.lang.String%29,但这让我更加想知道,为什么另外还有setValue(String)?


set/setValue and get/getValue方法对的存在是为了将对象属性与基本类型属性对齐,例如BooleanProperty or DoubleProperty:

布尔属性:

void set(boolean value)
void setValue(java.lang.Boolean v)

双重财产:

void set(double value)
void setValue(java.lang.Number v)

在这些属性类别中___Value方法与对应类型对象一起使用,而直接方法与原始类型一起使用。

查看代码,您可能会发现逻辑上有些不同。例如,DoubleProperty#setValue(null)等于DoubleProperty#set(0.0)(这是绑定所必需的)。因此,一般来说,我建议使用 set/get 方法,并将 setValue/getValue 留给绑定需求,因为它们可能会包含额外的逻辑。

对于对象/字符串属性,set 和 setValue 方法之间没有区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SimpleStringProperty set() 与 setValue() 的相关文章

随机推荐