發(fā)射實現(xiàn)tostring方法

發(fā)射實現(xiàn)tostring方法

ID:16860180

大?。?4.57 KB

頁數(shù):4頁

時間:2018-08-25

發(fā)射實現(xiàn)tostring方法_第1頁
發(fā)射實現(xiàn)tostring方法_第2頁
發(fā)射實現(xiàn)tostring方法_第3頁
發(fā)射實現(xiàn)tostring方法_第4頁
資源描述:

《發(fā)射實現(xiàn)tostring方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、在Java的開發(fā)過程中,編寫對應(yīng)數(shù)據(jù)庫表信息的entity是必須的,很多時候為了調(diào)試我們很有必要重寫entity的toString方法,為我們返回有用的entity信息,一般是希望輸出entity的屬性名對應(yīng)的屬性值。toString方法可以是這個樣子的:@OverridepublicStringtoString(){return"username:"+this.getUsername()+"&age:"+this.getAge();}沒什么,無非是手動拼裝一把而已。不過有的時候項目大了,幾百個entity都去手動拼裝一把,實在有點讓人心煩,更

2、何況有些變態(tài)的entity一來就是百十個屬性,對于這種情況,這樣拼裝無疑是枯燥而且耗時的。有沒有簡單一點的方法呢?小弟近來想到一個比較拙劣的方法,分享一把,有需要的可以看看,一個簡單的工具類:packagecom.huawei.zhangbo;importjava.lang.reflect.Field;importjava.lang.reflect.Method;publicclassToStringUtil{publicstaticStringtoString(Entityentity,String...fieldName){Classcls

3、=entity.getClass();StringBufferbuffer=newStringBuffer(cls.getSimpleName()+":");try{//不獲取私有方法Method[]methods=cls.getMethods();if(null!=fieldName&&fieldName.length!=0){for(Methodmethod:methods){Stringmn=method.getName();for(Stringfn:fieldName){20currencydeposit,weprescribeapas

4、sonaregularbasis,qilucardaccountonaregularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelenderif(mn.equalsIgnoreCase("get"+fn)){Stringvalue=method.invoke(entity).toString();buffer.

5、append(mn+"="+value+"&");}}}}else{//得到所有fieldField[]fields=cls.getDeclaredFields();for(Methodmethod:methods){Stringmn=method.getName();for(Fieldfield:fields){Stringname=field.getName().toString();if(mn.equalsIgnoreCase("get"+name)){Stringvalue=method.invoke(entity).toString(

6、);buffer.append(name+"="+value+"&");}}}}}catch(Exceptione){e.printStackTrace();}returnbuffer.substring(0,buffer.length()-1).toString();}}小小的解釋一把,非常簡單,該方法有兩個參數(shù),Entity,String...,Entity是我自己寫的一個空接口,和Serializable接口一樣起一個標(biāo)識的作用,標(biāo)識實體類,很明顯如果你的實體類不實現(xiàn)這個接口就不能使用我的工具類。我這樣搞有我20currencydepos

7、it,weprescribeapassonaregularbasis,qilucardaccountonaregularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender的理由,如果閑麻煩完全可以用Object取代之。第二個參數(shù)String...,即String類型的參數(shù),這樣的寫法具有靈活性,你可以不傳

8、這個參數(shù),也可以傳一個或者多個,最終Java會把你的參數(shù)封裝成String類型的數(shù)組,為什么不直接傳String類型的數(shù)組,還搞這些花里胡哨的,已經(jīng)說

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。