KK夜枚廝
null:是一個空對象,不能進行任何操作除了=、==,這個問題我們從三個方面來分析。
一、基本數據類型上
我們來區分下以下三個的區別:
String s1 = null;// null是未分配堆內存空間
String s2;// 分配了內存空間,沒存入任何對象
String s3 = "";// 分配了內存空間,存入了一個字符串對象,這種我們可以使用 object.equals(object)
注:當是""時,我們可以使用spring的方法 判斷字符串是否為空:SpringUtils.isEmpty("xxx"),判斷集合是否為空:CollectionUtils.isEmpty("xxx");
在Java中,默認在使用一個變量的時候必須賦予它初值(降低風險)。
二、集合類型
當返回是一個集合例如list的時候,如果查詢的數據是空,我們返回一個空的集合而不是返回null,這樣方法判斷時候就可以用list.size()判斷而不是 != null判斷,養成良好的編碼習慣。
三、方法調用上,我們使用聲明多個方法,通過參數來判斷。
歡迎大家關注我,後續會陸續的發佈技術類文章。
以下為springcloud的文章,歡迎大家賞閱
https://m.toutiaocdn.cn/group/6667809327488696845/?iid=65758228937&app=news_article×tamp=1552544524&group_id=6667809327488696845
程序員遇見更好的自己
java8裡有專門針對判空的方法了,Objects.isNull(obj),Objects.nonNull(obj)。
另外java8之前都是用各種Util工具包,比如common lang3等進行判斷。
再一個,java8的Optional類,在返回任何有可能為空的值時儘量用Optional類來進行包裝,返回Optional對象,調用者拿到的返回值是optional對象,optional提供一系列的方法來優雅的處理空、異常等情況。
一隻好奇的貓
使用 Java 8 的新特性 Optional 類型,具體可以看看官方文檔
doubeCharli
guava中有針對null的優雅處理
編程之智
寫個通用函數,判斷是否為null。以後就用這個函數來判斷即可。