1. 程式人生 > 實用技巧 >判空和非空校驗

判空和非空校驗

判空

Java

基本資料型別

基本資料型別都有預設值,不可能為空

8種基本資料型別說明

引用型別

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,
}

參考文件1

參考文件2