国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使代碼更簡(jiǎn)潔(三) ----利用方法鏈為對(duì)象屬性賦值

noONE / 824人閱讀

摘要:博客搬移到這里有個(gè)自己的博客還蠻好玩的,有一個(gè)有很多屬性的類在為它的屬性賦值時(shí),通常有兩種方式,使用構(gòu)造函數(shù)和使用方法。可是使用構(gòu)造函數(shù)有時(shí)會(huì)忘了各個(gè)字段的順序,直接使用方法,又比較麻煩。

博客搬移到這里:http://yemengying.com/
有個(gè)自己的博客還蠻好玩的,bazinga!

有一個(gè)有很多屬性的類:

public class User {
    private int id;
    private String name;
    private int age;
    private int sex;
    private int cityId;
    private int buId;
    private int roleId;
    private String pinyinName;
    public String getPinyinName() {
        return pinyinName;
    }
    public void setPinyinName(String pinyinName) {
        this.pinyinName = pinyinName;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getSex() {
        return sex;
    }
    public void setSex(int sex) {
        this.sex = sex;
    }
    public int getCityId() {
        return cityId;
    }
    public void setCityId(int cityId) {
        this.cityId = cityId;
    }
    public int getBuId() {
        return buId;
    }
    public void setBuId(int buId) {
        this.buId = buId;
    }
    public int getRoleId() {
        return roleId;
    }
    public void setRoleId(int roleId) {
        this.roleId = roleId;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public User(int id, String name, int age, int sex, int cityId, int buId,
            int roleId, String pinyinName) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.cityId = cityId;
        this.buId = buId;
        this.roleId = roleId;
        this.pinyinName = pinyinName;
    }
    
    
}

在為它的屬性賦值時(shí),通常有兩種方式,使用構(gòu)造函數(shù)和使用set方法。可是使用構(gòu)造函數(shù)有時(shí)會(huì)忘了各個(gè)字段的順序 ,直接使用set方法,又比較麻煩。所以同事提出可以使用方法鏈,類似于StringBuilder的append方法

String s = new StringBuilder().append("0").append(1)
  .append(" 2 ").append(3).toString();

讓bean的每個(gè)屬性的set方法都返回一個(gè)對(duì)象本身的引用,將User類的set方法改寫(xiě)成下面的樣子:

public User setId(int id) {
        this.id = id;
        return this;
    }

    public User setName(String name) {
        this.name = name;
        return this;
    }

    public User setAge(int age) {
        this.age = age;
        return this;
    }

    public User setSex(int sex) {
        this.sex = sex;
        return this;
    }

    public User setCityId(int cityId) {
        this.cityId = cityId;
        return this;
    }

    public User setBuId(int buId) {
        this.buId = buId;
        return this;
    }

    public User setRoleId(int roleId) {
        this.roleId = roleId;
        return this;
    }

    public User setPinyinName(String pinyinName) {
        this.pinyinName = pinyinName;
        return this;
    }

這樣在對(duì)User的屬性賦值時(shí)就簡(jiǎn)潔了許多。

User user = new User().setId(1).setAge(18)
                        .setBuId(127)
                        .setRoleId(12)
                        .setName("giraffe")
                        .setCityId(12)
                        .setSex(1)
                        .setPinyinName("gif");        

不過(guò)不知道這樣寫(xiě)會(huì)不會(huì)有什么不好的地方~~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/64602.html

相關(guān)文章

  • 對(duì)javascript中閉包的理解

    摘要:在前端開(kāi)發(fā)中閉包是一個(gè)很重要的知識(shí)點(diǎn),是面試中一定會(huì)被問(wèn)到的內(nèi)容。閉包的用途閉包可以用在許多地方。這里僅僅是我對(duì)閉包的一些見(jiàn)解,若有錯(cuò)誤的地方,還望大家提出,一起交流共同進(jìn)步參考文獻(xiàn)你不知道的上卷深入理解系列 在前端開(kāi)發(fā)中閉包是一個(gè)很重要的知識(shí)點(diǎn),是面試中一定會(huì)被問(wèn)到的內(nèi)容。之前我對(duì)閉包的理解主要是通過(guò)閉包可以在函數(shù)外部能訪問(wèn)到函數(shù)內(nèi)部的變量,對(duì)閉包運(yùn)用的也很少,甚至自己寫(xiě)過(guò)閉包自己都...

    Enlightenment 評(píng)論0 收藏0
  • 方法和數(shù)組就是這么簡(jiǎn)單!

    摘要:數(shù)組就是一個(gè)簡(jiǎn)單的線性序列,這使得元素訪問(wèn)非常快速。堆區(qū)堆內(nèi)存用來(lái)存放創(chuàng)建的對(duì)象和數(shù)組。堆內(nèi)存中的實(shí)體不再被指向時(shí),啟動(dòng)垃圾回收機(jī)制,自動(dòng)清除,這也是優(yōu)于的表現(xiàn)之一中需要程序員手動(dòng)清除。 showImg(https://segmentfault.com/img/remote/1460000019264541?w=600&h=242); 第三章 方法和數(shù)組 3.1 概述 還記得我們的He...

    darkerXi 評(píng)論0 收藏0
  • 網(wǎng)站代碼優(yōu)化

    摘要:將面試整理的網(wǎng)站優(yōu)化資料記一記,針對(duì)移動(dòng)端的代碼說(shuō)的。而第三種里面在移動(dòng)端里使用號(hào)比數(shù)組快很多,在端得看瀏覽器,不同瀏覽器不同版本對(duì)這兩種方式的優(yōu)化不同。盡量減少對(duì)的操作這個(gè)例子需要?jiǎng)討B(tài)添加,動(dòng)態(tài)刪除,每個(gè)標(biāo)簽有事件。 將面試整理的網(wǎng)站優(yōu)化資料記一記,針對(duì)移動(dòng)端的代碼說(shuō)的。 html 1: 標(biāo)簽嵌套層級(jí)不要太深,標(biāo)簽盡量簡(jiǎn)潔化.如懶加載后將data屬性去除 2: DNS預(yù)先處理 dns...

    xcold 評(píng)論0 收藏0
  • 網(wǎng)站代碼優(yōu)化

    摘要:將面試整理的網(wǎng)站優(yōu)化資料記一記,針對(duì)移動(dòng)端的代碼說(shuō)的。而第三種里面在移動(dòng)端里使用號(hào)比數(shù)組快很多,在端得看瀏覽器,不同瀏覽器不同版本對(duì)這兩種方式的優(yōu)化不同。盡量減少對(duì)的操作這個(gè)例子需要?jiǎng)討B(tài)添加,動(dòng)態(tài)刪除,每個(gè)標(biāo)簽有事件。 將面試整理的網(wǎng)站優(yōu)化資料記一記,針對(duì)移動(dòng)端的代碼說(shuō)的。 html 1: 標(biāo)簽嵌套層級(jí)不要太深,標(biāo)簽盡量簡(jiǎn)潔化.如懶加載后將data屬性去除 2: DNS預(yù)先處理 dns...

    Forest10 評(píng)論0 收藏0
  • 網(wǎng)站代碼優(yōu)化

    摘要:將面試整理的網(wǎng)站優(yōu)化資料記一記,針對(duì)移動(dòng)端的代碼說(shuō)的。而第三種里面在移動(dòng)端里使用號(hào)比數(shù)組快很多,在端得看瀏覽器,不同瀏覽器不同版本對(duì)這兩種方式的優(yōu)化不同。盡量減少對(duì)的操作這個(gè)例子需要?jiǎng)討B(tài)添加,動(dòng)態(tài)刪除,每個(gè)標(biāo)簽有事件。 將面試整理的網(wǎng)站優(yōu)化資料記一記,針對(duì)移動(dòng)端的代碼說(shuō)的。 html 1: 標(biāo)簽嵌套層級(jí)不要太深,標(biāo)簽盡量簡(jiǎn)潔化.如懶加載后將data屬性去除 2: DNS預(yù)先處理 dns...

    leoperfect 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<