最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

StringUtils,CollectionUtils判斷為空的方法和原生代碼哪個(gè)效率最高

 更新時(shí)間:2022年02月28日 10:28:27   作者:qq_1411  
這篇文章主要介紹了StringUtils,CollectionUtils判斷為空的方法和原生代碼哪個(gè)效率最高,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

StringUtils,CollectionUtils判斷為空的方法和原生代碼哪個(gè)效率高

之前一直疑惑,封裝類的方法和直接寫代碼(字符串或者集合否為空)判斷哪個(gè)效率高,但是最近自己才測試

結(jié)論 

自己直接寫判斷效率高(一般是0ms),但是封裝的簡便、嚴(yán)謹(jǐn)(一般10ms以內(nèi))

  • 函數(shù)StringUtils.isNotBlank(testString)的功能與StringUtils.isBlank(testString)相反
  • 函數(shù)StringUtils.isNotEmpty(testString)的功能與StringUtils.isEmpty(testString)相反

isBlank與isEmpty區(qū)別

如果字符串是String str = " ";//或者是str = "    ";

所以如果判斷為空的話 最好用

StringUtils.isBlank(str) 或者 str!=null && !"".equals(str.trim())

CollectionUtils封裝類,判斷為空的方法

List list = new ArrayList();
CollectionUtils.isEmpty(list);
Map map = new HashMap();
CollectionUtils.isEmpty(map);

源碼:

public static boolean isEmpty(Collection<?> collection) {
? ? return collection == null || collection.isEmpty();
}
public static boolean isEmpty(Map<?, ?> map) {
? ? return map == null || map.isEmpty();
}
/**
?* Returns <tt>true</tt> if this list contains no elements.
?*
?* @return <tt>true</tt> if this list contains no elements
?*/
public boolean isEmpty() {
? ? return size == 0;
}
/**
?* Returns <tt>true</tt> if this map contains no key-value mappings.
?*
?* @return <tt>true</tt> if this map contains no key-value mappings
?*/
public boolean isEmpty() {
? ? return size == 0;
}

針對以上方法,本人認(rèn)為字符串判斷是否為空用StringUtils.isBlank(str );

對集合判斷還是用原生代碼list != null && list.size>0

 StringUtils、CollectionUtils工具類的常用方法

下面將為大家演示StringUtils、CollectionUtils工具類的常用方法。

一、CollectionUtils工具類

作用:常用于判斷集合中是否有元素、是否為空等

?★★★ 例1 : 判斷集合是否為空:
?CollectionUtils.isEmpty(null); //控制臺打?。簍rue
?CollectionUtils.isEmpty(new ArrayList());//控制臺打?。簍rue  
?CollectionUtils.isEmpty({a,b});//控制臺打?。篺alse
?
?★★★ 例2: 判斷集合是否不為空:
?CollectionUtils.isNotEmpty(null); //控制臺打?。篺alse
?CollectionUtils.isNotEmpty(new ArrayList()); //控制臺打?。篺alse
?CollectionUtils.isNotEmpty({a,b}); //控制臺打印:true

1、工作案例

1.1、數(shù)據(jù)庫用戶實(shí)體

?public class User implements Serializable {
? ? ?private Long ? ? ?id; ? ? ? ?//用戶ID
? ? ?private String ? ?name; ? ? ?//用戶姓名
? ? ?private Integer ? ?age; ? ? ?//用戶年齡
? ? ?.......
} ? ?

1.2、Mapper

?/**
?* ?小編(程序牛CodeCow)用的是注解方式寫sql,也可以用XML方式寫sql,看個(gè)人愛好
?*/
@Select("<script> " +
? ? ? ? ? ? ? "select * from User " +
? ? ? ? "</script>")
List<User> getUserList();//獲取所有用戶

1.3、測試

@Autowired
private UserMapper userMapper;
List<User> list = userMapper.getUserList();//調(diào)用Mapper方法,獲取所有用戶
if(CollectionUtils.isEmpty(list )){ //使用CollectionUtils工具判斷是否為空
? ? //此處進(jìn)行為空的業(yè)務(wù)邏輯操作
}else{
? ? //此處進(jìn)行不為空的業(yè)務(wù)邏輯操作
}

二、StringUtils工具類

1、作用:常用于判斷字符串是否為空、" "、null等

★★★ 例1:<isEmpty>判斷某字符串是否為空(為空標(biāo)準(zhǔn):字符串為null或字符串長度為0)
? ? ? ? StringUtils.isEmpty(null); //控制臺打?。簍rue
? ? ? ? StringUtils.isEmpty("") ; ?//控制臺打印:true
? ? ? ? StringUtils.isEmpty(" "); ?//控制臺打?。篺alse (空格在StringUtils中作非空處理)
? ? ? ? StringUtils.isEmpty("程序牛CodeCow") //控制臺打印:false
?
★★★ 例2:<isNotEmpty>判斷某字符串是不為空(和例1相反)
? ? ? ? StringUtils.isNotEmpty(null); //控制臺打?。篺alse
? ? ? ? StringUtils.isNotEmpty(""); ? //控制臺打?。篺alse
? ? ? ? StringUtils.isNotEmpty(" "); ?//控制臺打?。簍rue?
? ? ? ? StringUtils.isNotEmpty("程序牛CodeCow"); //控制臺打?。簍rue
?
★★★ 例3:<isBlank>判斷某字符串是否為空
? ? ? ? StringUtils.isBlank(null); ? //控制臺打印:true
? ? ? ? StringUtils.isBlank(""); ? ? //控制臺打?。?true
? ? ? ? StringUtils.isBlank(" "); ? ?//控制臺打?。簍rue
? ? ? ? StringUtils.isBlank("程序牛CodeCow")//控制臺打印:false
?
★★★ 例4:<isNotBlank>判斷某字符串是不為空(和例3相反)
? ? ? ? StringUtils.isNotBlank(null);//控制臺打?。篺alse
? ? ? ? StringUtils.isNotBlank(""); ?//控制臺打印:false
? ? ? ? StringUtils.isNotBlank(" "); //控制臺打?。篺alse
? ? ? ? StringUtils.isBlank("程序牛CodeCow")//控制臺打?。簍rue
? ? ?
☆☆☆☆☆ isEmpty、isBlank 都是判斷字符串是否為空,他兩有什么區(qū)別 ???
? ? ? ? ? ? ? ?朋友記住一點(diǎn)就行:isBlank 可以說更加嚴(yán)格,比如:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? isBlank(" ?") isBlank 說我TM就說它 "為空"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? isEmpty(" ?") isEmpty 說我TM就說它 "不為空"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? "朋友你懂了嗎^__^"

2、工作案例

2.1、首先導(dǎo)包

?//導(dǎo)入commons包;小編(程序牛CodeCow)用的是 lang3,推薦
?<dependency>
? ? ?<groupId>org.apache.commons</groupId>
? ? ?<artifactId>commons-lang3</artifactId>
? ? ?<version>3.9</version>
?</dependency>

2.2、測試

1 "測試小編(程序牛CodeCow)就 不多 BB 了, 仔細(xì)看了上面的 應(yīng)該都會了吧 ^__^ " 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

南漳县| 乌苏市| 大渡口区| 北安市| 铅山县| 分宜县| 钦州市| 武平县| 苏州市| 大同市| 新竹市| 布拖县| 恩施市| 昆山市| 安西县| 辰溪县| 嫩江县| 炉霍县| 上犹县| 巴楚县| 南漳县| 托克逊县| 宝兴县| 宁波市| 中西区| 临朐县| 斗六市| 内乡县| 额济纳旗| 隆安县| 柳河县| 晋宁县| 恭城| 巴林右旗| 昭觉县| 延吉市| 乌鲁木齐市| 疏附县| 桓仁| 芜湖市| 青河县|