[問題] 如何解決!=null

看板AndroidDev作者 (Evo)時間6年前 (2018/03/08 22:31), 6年前編輯推噓2(209)
留言11則, 8人參與, 6年前最新討論串1/1
手機排版請見諒! 小弟最近在做三方支付串接, 在每個交易我都統一用一個物件去接, 再傳到另外一個Activity再去做顯示, 但是不同的交易,物件的某些值會是空值 變得要寫成 if( transData.xxx!=null){ textview.append(transData.xxx) } 類似這樣的代碼,這樣寫是沒問題 但是如果每個顯示都要這樣寫會看起來非常雜亂 不知道各位大大有沒有更簡潔或更好的作法? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.227.221 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1520519469.A.8BC.html ※ 編輯: evo1994 (101.14.227.221), 03/08/2018 22:32:17

03/08 23:48, 6年前 , 1F
建構物件時判斷是否為null,若為null則給預設值
03/08 23:48, 1F

03/08 23:52, 6年前 , 2F
textview.append(data!=null ? data : "");
03/08 23:52, 2F

03/09 00:27, 6年前 , 3F
物件內寫getter,在getter內做判斷?
03/09 00:27, 3F

03/09 01:17, 6年前 , 4F
要看對你的系統 null的意義是什麼阿
03/09 01:17, 4F

03/09 12:40, 6年前 , 5F
可是畫面顯示空字串沒意義...
03/09 12:40, 5F

03/09 19:45, 6年前 , 6F
最快的做法是你開一個新class extend TextView
03/09 19:45, 6F

03/09 19:46, 6年前 , 7F
然後override .append()判斷是null的話就給自己想給的字串XD
03/09 19:46, 7F

03/09 23:30, 6年前 , 8F
或是把樓上y大建議的方式改成寫在你這個transData中
03/09 23:30, 8F

03/10 00:25, 6年前 , 9F
了解了 非常感謝 趕緊來試試
03/10 00:25, 9F

03/10 08:06, 6年前 , 10F
null object pattern
03/10 08:06, 10F

03/30 10:31, 6年前 , 11F
改用kotlin 會乾淨很多
03/30 10:31, 11F
文章代碼(AID): #1QeKajYy (AndroidDev)
文章代碼(AID): #1QeKajYy (AndroidDev)