gpt4 book ai didi

java - 为什么 IntegerProperty 实现 Property 而不是 Property

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:55 25 4
gpt4 key购买 nike

Property JavaFX 添加的接口(interface)有一个类型参数 T ,这是属性包装的值的类型。

Property 的实现中接口(interface),有一些是数字:IntegerProperty , FloatProperty等。所有这些类都实现了 Property<Number> .

我们以IntegerProperty为例例如。它执行Property<Number>的原因是什么?而不是 Property<Integer>正如我所料?


这是一个阐明 IntegerProperty 层次结构的 UML 图:

enter image description here

最佳答案

如 Java 错误报告 (DoubleProperty has unexpected generics type) 的评论部分所述,

This design is intended. It keeps the number of required methods significantly smaller.


在此答案的评论中,James_D让我知道后来的错误报告解决了这个问题,ChangeListener cannot be added to SimpleIntegerProperty ).评论

We decided not to change the generics of primitive types properties (from Number to specific type) due to backward-compatibility issues. However, it means this issue cannot be fixed.

建议团队考虑更改设计,但为时已晚。

关于java - 为什么 IntegerProperty 实现 Property<Number> 而不是 Property<Integer>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34675004/

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