JavaFX添加的Content-Type: multipart/form-data; boundary=----webkitformboundary2fvqbgcbynvtvptx
接口有一个类型参数Property
,它是属性包装的值的类型。
在T
界面的实现中,有一些用于数字:Property
,IntegerProperty
等。所有这些类都实现了FloatProperty
。
我们以Property<Number>
为例。它实现IntegerProperty
而不是Property<Number>
的原因是什么原因?
这是一个UML图,阐明了Property<Integer>
:
答案 0 :(得分:5)
如Java错误报告(DoubleProperty has unexpected generics type)的评论部分所述,
此设计旨在实现。它使所需方法的数量显着减少。
在这个回答的评论中,James_D让我意识到后来发布的错误报告,ChangeListener cannot be added to SimpleIntegerProperty)。评论
由于向后兼容性问题,我们决定不更改基本类型属性的泛型(从Number到特定类型)。但是,这意味着无法解决此问题。
表示团队考虑改变设计,但为时已晚。
答案 1 :(得分:0)
我说他们使用的是Number
,因此您也可以将这些类与AtomicInteger
和BigInteger
等一起使用。
据我所知,唯一真实的&#34; DoubleProperty
和IntegerProperty
之间的差异是方法setValue(Number v)
- 一个使用v.doubleValue()
,另一个v.intValue()
。
我在这里没有一个正常工作的javafx环境,所以如果使用带有IntegerProperty
的{{1}}会导致异常,我无法测试。