Android上使用Lombok

一蛉腌、Lombok是什么阱飘?

如果想自己完成從官網(wǎng)學(xué)習(xí)可以點擊:https://projectlombok.org/。功能和AutoValue很類似。使用Lombok可以方便的生成setter斩披、getter端姚、equals晕粪、hashcode、toString等方法渐裸,代碼看起來十分的優(yōu)雅巫湘。

二、Android上如何集成

1.工程下面新建lombok.config文件昏鹃。文件內(nèi)容是:

lombok.anyConstructor.suppressConstructorProperties=true
image.png

2.在app的build.gradle中添加依賴:

dependencies {
    ```
    compileOnly "org.projectlombok:lombok:1.16.18"
    implementation 'org.glassfish:javax.annotation:10.0-b28'
}

3.在Android Studio中安裝lombok插件


image.png

4.錯誤修復(fù)

javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
image.png

三尚氛、使用

通過上面的步驟,就已經(jīng)在Android Studio中集成好了Lombok洞渤,接下來就是使用阅嘶。可以有哪些關(guān)鍵字注解可以參考官方文檔:https://projectlombok.org/features/all

val

Finally! Hassle-free final local variables.

var

Mutably! Hassle-free local variables.

@NonNull

or: How I learned to stop worrying and love the NullPointerException.

@Cleanup

Automatic resource management: Call your close() methods safely with no hassle.

@Getter/@Setter

Never write public int getFoo() {return foo;} again.

@ToString

No need to start a debugger to see your fields: Just let lombok generate a toString for you!

@EqualsAndHashCode

Equality made easy: Generates hashCode and equals implementations from the fields of your object..

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

Constructors made to order: Generates constructors that take no arguments, one argument per final / non-nullfield, or one argument for every field.

@Data

All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor!

@Value

Immutable classes made very easy.

@Builder

... and Bob's your uncle: No-hassle fancy-pants APIs for object creation!

@SneakyThrows

To boldly throw checked exceptions where no one has thrown them before!

@Synchronized

synchronized done right: Don't expose your locks.

@With

Immutable 'setters' - methods that create a clone but with one changed field.

@Getter(lazy=true)

Laziness is a virtue!

@Log

Captain's Log, stardate 24435.7: "What was that line again?"

experimental

Head to the lab: The new stuff we're working on.

但是上面的很多注解不是我使用的初衷载迄,例如@NonNull這種Android的support包里面都有讯柔。我想用的是@Data這種的。比如我寫了一個實體類护昧,我可以加個注解就生成了get/set/tostring/構(gòu)造函數(shù)等魂迄。

package com.stormdzh.androidlombok.entity;
import lombok.Data;
/**
 * @Description: 測試實體類
 * @Author: dzh
 * @CreateDate: 2020-11-29 22:05
 */
@Data
public class User {
    private String name;
    private String avatar;

}

上面的代碼加個@Data注解之后,就有有了以下的方法惋耙,這就很方便了捣炬。


image.png

四、總結(jié)

集成和簡單使用已經(jīng)總結(jié)了绽榛,其余的那些關(guān)鍵字可以看看官方的文檔湿酸。有特殊的需求可以在研究下,官網(wǎng)上也有很多實例代碼灭美。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末推溃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冲粤,更是在濱河造成了極大的恐慌美莫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梯捕,死亡現(xiàn)場離奇詭異厢呵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)傀顾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門襟铭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事寒砖〈土樱” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵哩都,是天一觀的道長魁兼。 經(jīng)常有香客問我,道長漠嵌,這世上最難降的妖魔是什么咐汞? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮儒鹿,結(jié)果婚禮上化撕,老公的妹妹穿的比我還像新娘。我一直安慰自己约炎,他們只是感情好植阴,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著圾浅,像睡著了一般掠手。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贱傀,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天惨撇,我揣著相機(jī)與錄音,去河邊找鬼府寒。 笑死,一個胖子當(dāng)著我的面吹牛报腔,可吹牛的內(nèi)容都是我干的株搔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼纯蛾,長吁一口氣:“原來是場噩夢啊……” “哼纤房!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起翻诉,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤炮姨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碰煌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舒岸,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年芦圾,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛾派。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖洪乍,靈堂內(nèi)的尸體忽然破棺而出眯杏,到底是詐尸還是另有隱情,我是刑警寧澤壳澳,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布岂贩,位于F島的核電站,受9級特大地震影響巷波,放射性物質(zhì)發(fā)生泄漏河闰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一褥紫、第九天 我趴在偏房一處隱蔽的房頂上張望姜性。 院中可真熱鬧,春花似錦髓考、人聲如沸部念。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儡炼。三九已至,卻和暖如春查蓉,著一層夾襖步出監(jiān)牢的瞬間乌询,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工豌研, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留妹田,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓鹃共,卻偏偏與公主長得像鬼佣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子霜浴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容