第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

檢查空-什么順序?

檢查空-什么順序?

UYOU 2019-12-06 11:13:33
在檢查null時(shí),我使用以下方法:String str;if(str == null){    //...}但我也看到了這一點(diǎn):if(null == str){    //...}使用一個(gè)相對于另一個(gè)有什么優(yōu)勢嗎?還是只是為了提高可讀性?
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊

第二個(gè)版本(null == str)稱為yoda條件

它們都導(dǎo)致相同的行為,但是第二個(gè)優(yōu)點(diǎn)是:當(dāng)您忘記一個(gè)變量時(shí),它可以防止您意外地更改變量=。在這種情況下,編譯器將在該行返回錯(cuò)誤,并且您不會再遇到一些奇怪的代碼行為和調(diào)試結(jié)果。


查看完整回答
反對 回復(fù) 2019-12-06
?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

該null == x約定通常在熟悉C的人的代碼中找到,其中賦值也可以是表達(dá)式。一些C程序員寫代碼像這樣這樣,如果他們錯(cuò)過了=在


if (NULL == ptr)...

由于NULL = ptr不是有效的分配,因此代碼不會編譯。盡管現(xiàn)代的C編譯器使這種約定過時(shí)了,但是這可以防止在代碼庫中引入相當(dāng)偷偷摸摸的錯(cuò)誤,只要人們注意啟用和讀取生成的警告即可。


這種編碼風(fēng)格在Java中從未有過任何用處,在Java中,引用分配不能用作布爾表達(dá)式。它甚至可以被認(rèn)為違反直覺。大多數(shù)人會以自然語言說“如果X為null ...”或“如果X等于17 ...”,而不是“如果null等于X ...”。


查看完整回答
反對 回復(fù) 2019-12-06
?
桃花長相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

正如您所說的,可讀性是最重要的原因。大聲讀出來,(null == str)讀得不好。這幾乎就像從右到左閱讀。(str == null)讀起來更好。


另外,我認(rèn)為需要考慮以下幾點(diǎn):


if (str != null)  

if (str == null)


if (null != str)

if (null == str)

我希望以相同的方式寫出正數(shù)(str == null)和負(fù)數(shù),這是我更喜歡頂集的另一個(gè)原因。


查看完整回答
反對 回復(fù) 2019-12-06
  • 3 回答
  • 0 關(guān)注
  • 459 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號