偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

判空我推薦用StringUtils.isBlank

開發(fā) 項(xiàng)目管理
在我們?nèi)粘i_發(fā)中,判空應(yīng)該是最常用的一個(gè)操作了。因此項(xiàng)目中總是少不了依賴commons-lang3包。這個(gè)包為我們提供了兩個(gè)判空的方法,分別是StringUtils.isEmpty(CharSequence cs)和StringUtils.isBlank(CharSequence cs)。

[[403141]]

在我們?nèi)粘i_發(fā)中,判空應(yīng)該是最常用的一個(gè)操作了。因此項(xiàng)目中總是少不了依賴commons-lang3包。這個(gè)包為我們提供了兩個(gè)判空的方法,分別是StringUtils.isEmpty(CharSequence cs)和StringUtils.isBlank(CharSequence cs)。我們分別來看看這兩個(gè)方法有什么區(qū)別。

一、StringUtils.isEmpty

isEmpty的源碼如下:

  1. public static boolean isEmpty(CharSequence cs) { 
  2.     return cs == null || cs.length() == 0; 

這個(gè)方法判斷的是字符串是否為null或者其長(zhǎng)度是否為零。

測(cè)試效果

  1. public class BlankAndEmpty { 
  2.  
  3.     public static void main(String[] args) { 
  4.          
  5.         System.out.println(StringUtils.isEmpty(null)); // true 
  6.         System.out.println(StringUtils.isEmpty("")); //true 
  7.         System.out.println(StringUtils.isEmpty(" ")); //false 
  8.         System.out.println(StringUtils.isEmpty("\t")); //false 
  9.         System.out.println(StringUtils.isEmpty("Java旅途")); //false 
  10.     } 

二、StringUtils.isBlank

isBlank的源碼如下:

  1. public static boolean isBlank(CharSequence cs) { 
  2.     int strLen = length(cs); 
  3.     if (strLen == 0) { 
  4.         return true
  5.     } else { 
  6.         for(int i = 0; i < strLen; ++i) { 
  7.             if (!Character.isWhitespace(cs.charAt(i))) { 
  8.                 return false
  9.             } 
  10.         } 
  11.  
  12.         return true
  13.     } 

length(cs)的方法如下

  1. public static int length(CharSequence cs) { 
  2.     return cs == null ? 0 : cs.length(); 

這個(gè)方法除了判斷字符串是否為null和長(zhǎng)度是否為零,還判斷了是否為空格,如果是空格也返回true。

測(cè)試效果

  1. public class BlankAndEmpty { 
  2.  
  3.     public static void main(String[] args) { 
  4.  
  5.         System.out.println(StringUtils.isBlank(null)); //true 
  6.         System.out.println(StringUtils.isBlank("")); //true 
  7.         System.out.println(StringUtils.isBlank(" ")); //true 
  8.         System.out.println(StringUtils.isBlank("\t")); //true 
  9.         System.out.println(StringUtils.isBlank("Java旅途")); //false 
  10.     } 

三、總結(jié)

  • isEmpty:如果是null或者“”則返回true。
  • isBlank:如果是null或者“”或者空格或者制表符則返回true。isBlank判空更加準(zhǔn)確。

四、擴(kuò)展

  1. 在實(shí)際開發(fā)中,除了isBlank判空的幾種情況之外,其實(shí)“null”字符串我們也會(huì)當(dāng)作空字符串處理。
  2. 我們需要判斷幾個(gè)字段同時(shí)不能為空,如果還用isBlank就顯得有點(diǎn)累贅了。我們可以使用String的可變參數(shù)提供如下工具類。
  1. public class StringTool { 
  2.  
  3.     public static boolean isNullStr(String... args) { 
  4.         boolean falg = false
  5.         for (String arg : args) { 
  6.             if (StringUtils.isBlank(arg) || arg.equals("null")) { 
  7.                 falg = true
  8.                 return falg; 
  9.             } 
  10.         } 
  11.         return falg; 
  12.     } 

這個(gè)工具類的優(yōu)點(diǎn)很明顯,一方面判斷了字符串“null”,另一方面對(duì)參數(shù)個(gè)數(shù)無限制,只要有一個(gè)參數(shù)是空則返回true。

本文轉(zhuǎn)載自微信公眾號(hào)「Java旅途」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java旅途公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: Java旅途
相關(guān)推薦

2022-05-17 14:28:42

編程語言Julia代碼

2020-04-10 10:22:12

Java判空編程語言

2020-09-25 11:30:20

Java判空代碼

2021-08-17 11:02:24

isEmptyisBlankJava

2025-03-06 08:21:02

判空entity對(duì)象

2021-01-20 07:28:02

nullcollections對(duì)象

2021-09-06 08:59:00

程序員技能開發(fā)

2023-11-18 09:17:56

Optional代碼

2017-06-05 08:55:27

Python起源應(yīng)用

2017-03-23 10:42:05

Pythonjava開發(fā)

2017-06-20 15:02:48

ChromeWebKit內(nèi)核

2012-02-07 15:32:25

投影儀推薦

2023-09-14 12:03:30

空指針判空

2017-02-08 09:25:16

Spark分解推薦

2021-11-23 06:02:20

APIOpenResty網(wǎng)關(guān)

2020-12-07 13:21:13

程序員歷史Python

2020-06-12 09:07:03

技術(shù)總監(jiān)數(shù)據(jù)庫

2018-04-05 22:42:43

2021-10-21 10:58:03

Markdown編輯器

2022-07-19 10:02:49

Vueuse文檔
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)