判空和非空校驗
阿新 • • 發佈:2020-12-21
判空
Java
基本資料型別
基本資料型別都有預設值,不可能為空
引用型別
String
//方式一: if(list != null && list.size() != 0) //方式二: if(list != null && !list.isEmpty()) /* list!=null:判斷是否存在list,null表示這個list不指向任何的東西,如果這時候你呼叫它的方法,那麼就會出現空指標異常。 list.isEmpty():判斷list裡是否有元素存在 list.size():判斷list裡有幾個元素 */ //所以判斷list裡是否有元素的最佳的方法是: if(list != null && !list.isEmpty()){ //list存在且裡面有元素 }
Map、Set、List
直接用if( s.equals(“”)),if( !s.isEmpty()),if(s.length()>0)來判斷,忽略了s為null的情況,s指向不確定的物件,無法呼叫一個確定的Sting物件的方法.
集合為空有以下幾種型別
(1)str == null;
(2)"".equals(str);
(3)str.length <= 0;
(4)str.isEmpty();
正確形式:
String str = null; if(str= == null||str.equals("") ){ System.out.println("success"); }
js
function isNull_Undefined(obj) { return obj===null|| obj === undefined; } function isArray(obj){ return !isNull_Undefined(obj)&&(typeof obj=='object')&&obj.constructor==Array; } function isString(str){ return !isNull_Undefined(str)&&(typeof str=='string')&&str.constructor==String; } function isNumber(obj){ return !isNull_Undefined(obj)&&(typeof obj=='number')&&obj.constructor==Number; } function isDate(obj){ return !isNull_Undefined(obj)&&(typeof obj=='object')&&obj.constructor==Date; } function isFunction(obj){ return !isNull_Undefined(obj)&&(typeof obj=='function')&&obj.constructor==Function; } function isObject(obj){ return !isNull_Undefined(obj)&&(typeof obj=='object')&&obj.constructor==Object; } function isNotEmptyString(str){ return isString(str) && str.length>0; } function isNotEmptyArray(obj){ return isArray(obj) && obj.length>0; } export { isArray, isString, isNumber, isDate, isFunction, isObject, isNull_Undefined, isNotEmptyString, isNotEmptyArray, }