今天在看**的時候, 看到了這個註解, 之前都沒有見過, 所以就查了下, 發現還是個不錯的註解, 可以讓**更加簡潔.
這個註解來自於 lombok,lombok 能夠減少大量的模板**,減少了在使用@data 註解時, 需要匯入lombok.data,下面列舉下 lombok提供的註解:
val : 和 scala 中 val 同名, 可以在執行時確定型別;上面一些註解是由包含關係的, 看需要什麼方法就增加什麼註解,@log4j 和 @slf4j 註解作用不小, 用在各層都可以,方便打 log。@nonnull : 註解在引數上, 如果該類引數為 null , 就會報出異常, throw new nullpointexception(引數名)
@cleanup : 注釋在引用變數前, 自動**資源 預設呼叫 close() 方法
@getter/@setter : 註解在類上, 為類提供讀寫屬性
@getter(lazy=true) :
@tostring : 註解在類上, 為類提供 tostring() 方法
@equalsandhashcode : 註解在類上, 為類提供 equals() 和 hashcode() 方法
@noargsconstructor, @requiredargsconstructor, @allargsconstructor : 註解在類上, 為類提供無參,有指定必須引數, 全參建構函式
@data : 註解在類上, 為類提供讀寫屬性, 此外還提供了 equals()、hashcode()、tostring() 方法
@value :
@builder : 註解在類上, 為類提供乙個內部的 builder
@sneakthrows :
@synchronized : 註解在方法上, 為方法提供同步鎖
@log :
@log4j : 註解在類上, 為類提供乙個屬性名為 log 的 log4j 的日誌物件
@slf4j : 註解在類上, 為類提供乙個屬性名為 log 的 log4j 的日誌物件
@cleanup("dispose") org.eclipse.swt.widgets.coolbar bar = new coolbar(parent, 0);
@cleanup inputstream in = new fileinputstream(args[0]);
@cleanup outputstream out = new fileoutputstream(args[1]);
也可以檢視官網 [ 官網 ]
簡易例子:[ 只是用了@data註解 ]
public @data class student
雖然說,eclipse 的快捷鍵生成這些**會很快,但是知道總比不知道的好,萬一別人用了,你看不懂別人的**呢?那就不面子丟大了,還只是個實體類而已。我覺得最重要的是,**行數少了很多,簡潔的**誰不喜歡呢?
還有一點, 使用這個 lombok 需要安裝 lombok 外掛程式。
Data 註解引出的 lombok
官網 註解型別 val 和 scala 中 val 同名,可以在執行時確定型別 nonnull 註解在引數上,如果該類引數為 null 就會報出異常,throw new nullpointexception 引數名 cleanup 注釋在引用變數前,自動 資源 預設呼叫 close 方法 gette...
Data 註解引出的 lombok 小辣椒
今天在看 的時候,看到了這個註解,之前都沒有見過,所以就查了下,發現還是個不錯的註解,可以讓 更加簡潔.這個註解來自於 lombok,lombok 能夠減少大量的模板 減少了在使用 data 註解時,需要匯入lombok.data,下面列舉下 lombok提供的註解 val 和 scala 中 va...
lombok 註解的使用
data 註解在類上 提供類所有屬性的 getting 和 setting 方法,此外還提供了equals canequal hashcode tostring 方法 setter 註解在屬性上 為屬性提供 setting 方法 getter 註解在屬性上 為屬性提供 getting 方法 log4...