未解决
与此相关的问题:
JDK-8152399
. 这个问题被标记为“增强”,但我认为它是一个bug。
这个问题是由几乎所有的方法造成的
JavaBeanObjectPropertyBuilder
返回
原始类型
build
它回来了
JavaBeanObjectProperty<T>
. 不过,这没关系,因为当你打电话的时候
你打电话时丢失了类型信息
bean
name
. 不幸的是,这意味着你没办法
合法地
摆脱警告你只能压制它。
public class FooWrapper {
private final Foo delegate;
private final JavaBeanObjectProperty<SomeType> value;
@SuppressWarnings("unchecked") // Reason: Bad API
public FooWrapper(Foo delegate) {
this.delegate = delegate;
try {
value = JavaBeanObjectPropertyBuilder.create()
.bean(delegate)
.name("value")
.build();
} catch (NoSuchMethodException ex) {
throw new RuntimeException(ex);
}
}
}
它使用
@SuppressWarnings
here
. 这是个很好的实践
@抑制警告
要进行比较,请查看签名的方法
ReadOnlyJavaBeanObjectPropertyBuilder
. 它们都返回泛型类型。