中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lombok中@Accessors注解的作用是什么

發布時間:2021-06-22 17:50:53 來源:億速云 閱讀:1336 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關Lombok中@Accessors注解的作用是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

@Accessors注解官方給出的解釋是:面向getter和setter的更流暢的API。

實驗性

官方給出實驗(設計)原因是:

  • 希望將這些功能整合到更完整的屬性支持概念中。

  • 新功能–需要社區反饋。

當前狀態:中性-可能會有一些變化。這些更改旨在向后兼容,但應從實驗功能開始:

  • 開放功能請求:以小寫字母開頭,后跟大寫字母開頭的屬性的命名行為。一半的規范,工具和lombok用戶更喜歡將名為uLimit的字段轉換為getULimit(包括lombok),而另一半則更喜歡getuLimit。 @Accessors可能參與解決此請求的任何更新。

  • 開放功能請求:對命名訪問者的更多控制;例如,解決以創意命名的布爾屬性:將boolean wasRunning轉換為boolean wasRunning()而不是boolean isWasRunning(),以及更廣泛的前綴支持。如果解決了此功能請求,則將涉及@Accessors。

  • @Accessors當前不會從字段@Accessors批注“層疊”到類級別的@Accessors批注,但會將其“層疊”到lombok.config。更改此設置并不困難,但向后不兼容。不太可能破壞很多現有代碼,但這需要在功能退出實驗狀態之前進行決定。

實驗性

@Accessors批注用于配置lombok生成和查找getter和setter的方式。

默認情況下,lombok遵循針對getter和setter的bean規范:例如,名為Pepper的字段的getter是getPepper。但是,有些人可能希望打破bean規范,以得到更好看的API。 @Accessors允許您執行此操作。

一些程序員喜歡在其字段中使用前綴,即他們寫的是fPepper而不是Pepper。我們強烈建議您不要這樣做,因為您無法對前綴的有效性進行單元測試,并且重構腳本可能會將字段轉換為局部變量或方法名稱。此外,如果您希望該信息立即可見,則您的工具(例如您的編輯器)可以以某種方式來處理標識符。不過,您也可以通過@Accessors列出項目使用的前綴。

因此@Accessors具有3個選項 :

  • fluent-- 一個布爾值。如果為true,則胡椒粉的吸氣劑僅是Pepper(),而裝填器的是Pepper(T newValue)。此外,除非指定,否則chain默認為true。 默認值:false。

  • chain--一個布爾值。如果為true,則生成的setter返回此值,而不是void。 默認值:false,除非fluent = true,否則默認值:true。

  • prefix--字符串列表。如果存在,則字段必須以這些前綴中的任何一個作為前綴。依次將每個字段名稱與列表中的每個前綴進行比較,如果找到匹配項,則將前綴去掉以創建該字段的基本名稱。在列表中包括一個始終匹配的空字符串是合法的。對于字母字符,前綴后面的字符不能為小寫字母,即Pepper甚至不能與前綴p匹配,但pEpper可以匹配(并且意味著該字段的基本名稱是epper)。

@Accessors注釋在類型和字段上合法;如果存在,則適用的注釋是該字段上的注釋,否則為該類上的注釋。當在字段上存在@Accessors批注時,即使在字段@Accessors上未配置的屬性,也將忽略該字段所在的類中也存在的任何@Accessors批注。這與任何lombok.config配置鍵相反,如果未指定任何顯式@Accessors批注,這些配置鍵將作為后備默認值。

Lombok 代碼塊
import lombok.experimental.Accessors;
import lombok.Getter;
import lombok.Setter;

@Accessors(fluent = true)
public class AccessorsExample {
  @Getter @Setter
  private int age = 10;
}

class PrefixExample {
  @Accessors(prefix = "f") @Getter
  private String fName = "Hello, World!";
}
public class AccessorsExample {
  private int age = 10;
  
  public int age() {
    return this.age;
  }
  
  public AccessorsExample age(final int age) {
    this.age = age;
    return this;
  }
}

class PrefixExample {
  private String fName = "Hello, World!";
  
  public String getName() {
    return this.fName;
  }
}
支持的配置鍵:
lombok.accessors.chain = [true | false] (default: false)

如果設置為true,則任何沒有@Accessors批注或沒有@Accessors批注但該批注不具有chain參數的顯式值的類,都將像出現@Accessors(chain = true)一樣起作用。

lombok.accessors.fluent = [true | false] (default: false)

如果設置為true,則任何沒有@Accessors批注或沒有@Accessors批注但該批注沒有fluent參數的顯式值的類都將像@Accessors(fluent = true)一樣存在。

lombok.accessors.prefix += a field prefix (default: empty list)

這是一個列表屬性;可以使用+ =運算符添加條目。可以使用-=運算符刪除從父配置文件繼承的前綴。任何沒有或沒有@Accessors批注的類都可以,就好像存在@Accessors(prefix = {在配置中列出的前綴})一樣。 

lombok.accessors.flagUsage = [warning | error] (default: not set)

如果已配置,Lombok會將@Accessors的任何用法標記為警告或錯誤。

小提示:

最近的@Accessors 注解還用于lombok中用于各種尋找類的getter方法,例如@EqualsAndHashCode。

@EqualsAndHashCode。 如果提供了前綴列表,并且字段不是以其中一個開頭,則該字段將被lombok完全跳過,并會生成警告。

關于Lombok中@Accessors注解的作用是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长兴县| 安乡县| 娱乐| 宿迁市| 潼南县| 北川| 安庆市| 临邑县| 城口县| 福贡县| 观塘区| 内黄县| 三原县| 怀集县| 四子王旗| 宁津县| 苏州市| 革吉县| 莱州市| 大厂| 崇阳县| 瓦房店市| 临西县| 河东区| 江津市| 延长县| 民勤县| 拉萨市| 马尔康县| 清新县| 浦县| 赣榆县| 神木县| 察雅县| 丘北县| 八宿县| 红安县| 内黄县| 宣城市| 壤塘县| 长海县|