判斷字串是否為空

2021-08-13 12:04:24 字數 1600 閱讀 7943

判斷字串是否為空是在 android 開發中是最長用的乙個判斷,判斷時也經常會看到有不同的判斷方式,今天專門研究了一下,記錄下來。

先定義乙個字串,

private string s;
這種定義方式是我們學用的方式,那麼這樣定義時在字串時,該怎麼判斷它是不是空呢?來用**驗證一下:

if (s == null)else
打出的來 log 是這樣的:

可以看到這個時候,如果 s 沒有賦值,它就為 null。

現在做乙個小改動,這樣定義字串,

private string s = new string();
這時我們這這樣來判斷,

if (s == null)else

if (s.isempty())else

這樣打出來的 log 是這樣的:

當用 new 關鍵字建立字串物件時,如果 s 沒有賦值,那麼這時的 s 並不是 null,而它的 isempty()方法為 true,這時進入到 isempty()方法中去看看,

/**

* returns if, and only if, is .

* *@return if is , otherwise

* *

*@since 1.6

*/public

boolean

isempty() with or without string compression enabled.

return count == 0;

}

可以看到只有當字串的長度為 0 時,才會返回 true。所有用 new 關鍵字建立的字串物件在沒有賦值的情況下它的長度是 0 ,但並不是 null。

還有乙個方法是用 textutils.isempty() 這個方法來判斷

if (textutils.isempty(string))
進入到這個方法裡面去看一看:

/**

* returns true if the string is null or 0-length.

*@param str the string to be examined

*@return true if str is null or zero length

*/public

static

boolean

isempty(@nullable charsequence str)

可以看到這個方法是當字串為 null 或長度為 0 時,返回 true,與 string 的 isempty()方法比起來,這個方法更嚴謹一些,所以可以盡量使用這個方法來避免字串的空指標異常。

還有乙個經常用的判斷方法就是 if(s == 「」),這個就很簡單了,就不多言了。

總結:當沒有用 new 關鍵字建立字串物件,或是沒有 s = 「」,這兩種建立方式的話,是不能用 isempty()方法來判斷的,那樣的話會報空指標異常。所以在判斷字串是否為空時要注意這一點,避免報錯。

判斷字串String是否為空

1 str null 2 equals str 3 str.length 4 str.isempty 注意 length是屬性,一般集合類物件擁有的屬性,取得集合的大小。例如 陣列.length就是取得陣列的長度。length 是方法,一般字串類物件有該方法,也是取得字串長度。例如 字串.lengt...

python 判斷字串是否為空

python strip 方法用於 移除字串頭尾 指定的字元 預設為 空格或換行符 或字串行。注意 該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。strip 方法語法 str.strip chars 返回移除字串頭尾指定的字元生成的新字串。補充 字串str還有另外兩種類似的方法lstri...

C 判斷字串是否為空

c 中問號可以判斷字元 引用 事件等是否為空,比如 action?invoke 判斷action是否為空,不為空則呼叫,這樣就避免了用if語句進行是否為空的判斷。開發中會遇到解析json的情況 jsondata.code jslist code jsondata.version jslist ver...