簡體   English   中英

如何在Java 9中使用新的BeanInfo批注

[英]How to use new BeanInfo Annotations in Java 9

JEP 256:BeanInfo批注提供JavaBeanBeanProperty批注。 盡管沒有太多的文檔,但是我一直希望這可以允許我們使用注釋將類上的字段指定為JavaBean樣式的屬性,而不必創建樣板化的getter / setter訪問器/ mutator方法

所以這:

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”不適用於字段

編譯器報告錯誤:

錯誤:(8,5)Java:注釋類型不適用於這種聲明

➠我是否誤解了這些新注釋的目的? 還是我有一些語法問題?

除了上面鏈接的JEP和JavaDoc外,我沒有找到任何其他文檔。

我正在嘗試使用Java 9的最新版本,目前是macOS Sierra 10.12.6上的Java 9 + 181。

JavadocBeanProperty@Target(METHOD) 看起來這是自定義PropertyDescriptor的一種方法,而無需創建BeanInfo實現。 我不認為它打算像龍目島那樣工作。 (感謝謝天謝地,請參閱為什么使用getter和setter?出於所有原因,顯式方法是個好主意。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM