Android中字串判斷條件的常用寫法

2021-08-21 22:36:21 字數 1060 閱讀 7835

在開發中經常會判斷乙個字串是否為空,是否為null以及是否為0,可能有的人寫很多判斷條件,也有的會寫出錯誤的判斷方法。下面就總結一下怎麼去寫字串的判斷條件和一些常見的錯誤

string s1 = "1234";

string s2 = new string("1234");

if(s1 == s2) 這種方式只能判斷兩個字串的記憶體位址是否相等,不能判斷兩個字串的內容是否相等

正確的方式應該是使用equals()方法:  s1.equals(s2)

後台返回的資料解析後有些可能是null或者是空字串,就需要做判斷。

如後台返回商品數量goodsnum判斷是否null,使用api提供的工具類方法textutils.isempty(goodsnum),該方法當goodsnum為空字串或者為null的時候返回ture,這個方法的原始碼如下

public static boolean isempty(@nullable charsequence str)
這個方法封裝了字串是否為null和空字串的判斷,goodsnum.isempty()這個方法只能判斷空字元。

如上面的商品數量goodsnum,需要判斷為null、空字串或者為0,就可以按照下面的方式寫

if (textutils.isempty(goodsnum) || "0".equals(goodsnum)){}
下面是錯誤的寫法,若goodsnum為null,會直接報空指標異常,因為在equals()方法裡是沒有做null的判斷,而且把它放到後面如果textutils.isempty()是ture 對邏輯運算子」||「就不會再檢測右邊的

if ("0".equals(goodsnum) || textutils.isempty(goodsnum)) {}
&&:如果左邊的是false,則不會檢測右邊的,直接返回false;如果左邊是ture,會檢測右邊的,返回結果以右邊為準

||:如果左邊的是ture,則不會檢測右邊,直接返回ture;如果左邊是false,會檢測右邊,返回結果以右邊為準

python 字串 條件判斷 常用函式

相信大家在給字串設定規則條件的情況下經常會遇到這樣的問題 比如說要使用者輸入使用者名稱,但是使用者名稱的首個字元必須是字母,那我們該如何是好?或者要求使用者輸入 號碼,那麼 號碼肯定是數字,那麼又該如何判斷?或者使用者傳送訊息,但是如果是空格或空白的不能傳送該如何是好呢?那麼現在我就將這些問題所需要...

字串 C010 反轉字串II(條件判斷)

給定乙個字串和乙個整數 k,你需要對從字串開頭算起的每個 2k 個字元的前k個字元進行反轉。如果剩餘少於 k 個字元,則將剩餘的所有全部反轉。如果有小於 2k 但大於或等於 k 個字元,則反轉前 k 個字元,並將剩餘的字元保持原樣。題意 每隔k個反轉k個,末尾不夠k個時全部反轉 輸入 s abcde...

判斷字串 一文詳解Python字串條件判斷方法

作者 張小吉 前言 人喜歡為自己的錯誤,找各種藉口開脫。本週做演算法題leetcode 394.字串解碼 的時候遇到了這樣的問題,題目需要完成 s 3 a 2 bc 返回 aaabcbc 實現的過程中,需要判斷乙個字串是否為數字,幾乎條件反射地,打算自己實現乙個從0 9的字串list,然後判斷字元是...