Java實(shí)體類實(shí)現(xiàn)鏈?zhǔn)讲僮鲗?shí)例解析
這篇文章主要介紹了Java實(shí)體類實(shí)現(xiàn)鏈?zhǔn)讲僮鲗?shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
原來(lái)是這么寫bean的,單純的使用get、set方法,再加一個(gè)toString
package Model; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class User { private Integer id; private String name; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
然后使用的使用就是不斷的set
import Model.User; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class Main { public static void main(String[] args) { User user = new User(); user.setId(1); user.setName("Davion"); System.out.println(user); } }
再簡(jiǎn)單點(diǎn)就是使用Lombok自動(dòng)生產(chǎn)get/set方法,當(dāng)然今天說(shuō)的不是Lombok的優(yōu)點(diǎn),雖然是真的好用
但是今天突然看到一些新的操作:鏈?zhǔn)絙ean,具體如下,
修改User類如下:
package Model; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class User { private Integer id; private String name; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } public Integer getId() { return id; } public User setId(Integer id) { this.id = id; return this; } public String getName() { return name; } public User setName(String name) { this.name = name; return this; } }
可以看到,和原來(lái)的區(qū)別就是修改了set方法,原來(lái)是沒(méi)有返回值,直接是設(shè)置某個(gè)屬性,但現(xiàn)在的返回類型是模型本省,返回值是this,
重點(diǎn)來(lái)了,接著客戶端使用的時(shí)候是這樣的:
import Model.User; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class Main { public static void main(String[] args) { User user = new User(); user.setId(1).setName("Davion"); System.out.println(user); } }
因?yàn)榉祷貙?duì)象是this,所以可以接著使用當(dāng)前模型的所有方法
這樣的鏈?zhǔn)讲僮髂芄?jié)省很多時(shí)間,而且也直觀簡(jiǎn)潔了很多,而且對(duì)原來(lái)的寫法也沒(méi)有任何影響
因?yàn)槠綍r(shí)都是使用Lombok的,所以不會(huì)自己寫get/set方法,那鏈?zhǔn)讲僮饔衷趺词褂肔ombok實(shí)現(xiàn)呢,
眾所周知,Lombok是使用注解的方式,讓代碼更簡(jiǎn)潔,同理,那么要Lombok實(shí)現(xiàn)鏈?zhǔn)絙ean,應(yīng)該也是使用相應(yīng)的注解
這個(gè)注解就是 @Accessors(chain = true),意思是訪問(wèn)器允許鏈?zhǔn)讲僮鳎?那么現(xiàn)在代碼就是:
package Model; import lombok.Data; import lombok.experimental.Accessors; /** * @author: Davion * @date: 2019/12/11 * @description: */ @Accessors(chain = true) @Data public class User { private Integer id; private String name; }
客戶端代碼不需要變,這樣就實(shí)現(xiàn)了一個(gè)鏈?zhǔn)絙ean
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Javasript設(shè)計(jì)模式之鏈?zhǔn)秸{(diào)用詳解
- Java及Android中常用鏈?zhǔn)秸{(diào)用寫法簡(jiǎn)單示例
- java隊(duì)列實(shí)現(xiàn)方法(順序隊(duì)列,鏈?zhǔn)疥?duì)列,循環(huán)隊(duì)列)
- Java棧之鏈?zhǔn)綏4鎯?chǔ)結(jié)構(gòu)的實(shí)現(xiàn)代碼
- JAVA 實(shí)現(xiàn)二叉樹(shù)(鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu))
- JAVA中實(shí)現(xiàn)鏈?zhǔn)讲僮鳎ǚ椒ㄦ湥┑暮?jiǎn)單例子
- java中實(shí)體類轉(zhuǎn)Json的2種方法
- java中實(shí)體類和JSON對(duì)象之間相互轉(zhuǎn)化
- java反射遍歷實(shí)體類屬性和類型,并賦值和獲取值的簡(jiǎn)單方法
相關(guān)文章
SpringBoot使用Nacos配置中心的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot使用Nacos配置中心的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12SpringBoot2整合JTA組件實(shí)現(xiàn)多數(shù)據(jù)源事務(wù)管理
這篇文章主要介紹了SpringBoot2整合JTA組件實(shí)現(xiàn)多數(shù)據(jù)源事務(wù)管理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03詳解Maven 搭建spring boot多模塊項(xiàng)目(附源碼)
這篇文章主要介紹了詳解Maven 搭建spring boot多模塊項(xiàng)目(附源碼),具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法示例
這篇文章主要介紹了java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法,涉及java針對(duì)字符的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Java編程實(shí)現(xiàn)判斷網(wǎng)上鄰居文件是否存在的方法
這篇文章主要介紹了Java編程實(shí)現(xiàn)判斷網(wǎng)上鄰居文件是否存在的方法,涉及Java針對(duì)路徑轉(zhuǎn)換及字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-10-10詳解JavaFX桌面應(yīng)用開(kāi)發(fā)-Group(容器組)
這篇文章主要介紹了JavaFX桌面應(yīng)用開(kāi)發(fā)-Group(容器組),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Java實(shí)現(xiàn)跳轉(zhuǎn)到指定頁(yè)面的方法小結(jié)
在Java中,實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)主要涉及到Web開(kāi)發(fā),而這通常通過(guò)使用Java的Web框架(如Servlet、Spring MVC)來(lái)完成,下面講解一下如何在不同的Java Web框架中實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-05-05java實(shí)現(xiàn)Img與PDF相互轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Img與PDF相互轉(zhuǎn)換的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Java設(shè)計(jì)模式七大原則之開(kāi)閉原則詳解
開(kāi)閉原則,又稱為OCP原則,即一個(gè)軟件實(shí)體如類,模塊和函數(shù)應(yīng)該對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。本文將詳細(xì)介紹Java設(shè)計(jì)模式七大原則之一的開(kāi)閉原則,需要的可以參考一下2022-02-02