gpt4 book ai didi

java - 如何在 Java 9 中使用新的 BeanInfo 注解

转载 作者:行者123 更新时间:2023-11-30 06:32:36 26 4
gpt4 key购买 nike

JEP 256: BeanInfo Annotations提供JavaBeanBeanProperty注释。虽然没有太多文档,但我一直希望这将允许我们使用注释将类上的字段指定为 JavaBean 样式属性,而无需创建样板 getter/setter accessor/mutator methods .

所以这个:

public class Person {

private String name ;

public String getName( ) {
return this.name ;
}

public void setName( String nameArg ) {
this.name = nameArg ;
}

}

...会变成这样:

import java.beans.BeanProperty;

public class Person {

@BeanProperty
public String name ;

}

然而,当我在 IntelliJ 2017.2.2 的 Java 9 项目中尝试此操作时,我在 IDE 中的“@”注释上收到错误消息:

'@BeanProperty' not applicable to field

编译器报告错误:

Error:(8, 5) java: annotation type not applicable to this kind of declaration

➠ 我是否误解了这些新注释的目的?或者我有语法问题吗?

除了上面链接的 JEP 和 JavaDoc 之外,我还没有找到任何文档。

我正在试验 Java 9 的最新候选版本,目前是 macOS Sierra 10.12.6 上的 Java 9+181。

最佳答案

javadocBeanProperty@Target(METHOD)。看起来是一种自定义的方式PropertyDescriptor无需创建 BeanInfo执行。我不认为它的目的是像Lombok那样工作。 (谢天谢地,请参阅 Why use getters and setters? 来了解显式方法是个好主意的所有原因。)

关于java - 如何在 Java 9 中使用新的 BeanInfo 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45776211/

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