Android 判斷一個物件屬性是否有null的值
場景:在通過Gson或者FastGson解析資料成功後,在使用一個物件的時候,比如在使用者中心介面有幾個屬性,姓名,年齡,個人介紹,當我們在使用其中的一個屬性的時候,如果這個屬性剛好伺服器沒有賦值,讀取的是一個null,有可能導致應用的崩潰或者是在介面顯示一個null,那麼此時的你是不是想有沒有一種想,通過一種方法來一下子判斷出裡面的屬性有沒有一個是null的或者是空的,而不是當發現是null值的時候才會怒氣衝衝的找到伺服器開發人員,(友誼萬歲 笑臉)。
好吧,是時候展示真正的實力了。
多做總結,提升自我,加油public class BeanUtils1 { public static String checkFieldValueNull(Object bean) { StringBuffer sb=new StringBuffer(); sb.append(""); if (bean == null) { return sb.toString(); } sb.append(bean.getClass().getName()+" 以下屬性為空 "); Class<?> cls = bean.getClass(); Method[] methods = cls.getDeclaredMethods(); Field[] fields = cls.getDeclaredFields(); for (Field field : fields) { try { String fieldGetName = parGetName(field.getName()); if (!checkGetMet(methods, fieldGetName)) { continue; } Method fieldGetMet = cls.getMethod(fieldGetName, new Class[]{}); Object fieldVal = fieldGetMet.invoke(bean, new Object[]{}); if (fieldVal != null) { if ("".equals(fieldVal)) { sb.append(fieldGetMet.getName().toString()+","); } }else{ sb.append( fieldGetMet.getName().toString()+","); } } catch (Exception e) { continue; } } return sb.toString(); } /** * 拼接某屬性的 get方法 * * @param fieldName * @return String */ public static String parGetName(String fieldName) { if (null == fieldName || "".equals(fieldName)) { return null; } int startIndex = 0; if (fieldName.charAt(0) == '_'){ startIndex = 1; } return "get" + fieldName.substring(startIndex, startIndex + 1).toUpperCase() + fieldName.substring(startIndex + 1); } /** * 判斷是否存在某屬性的 get方法 * * @param methods * @param fieldGetMet * @return boolean */ public static boolean checkGetMet(Method[] methods, String fieldGetMet) { for (Method met : methods) { if (fieldGetMet.equals(met.getName())) { return true; } } return false; } }
相關推薦
Android 判斷一個物件屬性是否有null的值
場景:在通過Gson或者FastGson解析資料成功後,在使用一個物件的時候,比如在使用者中心介面有幾個屬性,姓名,年齡,個人介紹,當我們在使用其中的一個屬性的時候,如果這個屬性剛好伺服器沒有賦值,讀取的是一個null,有可能導致應用的崩潰或者是在介面顯示一個null,那麼此
Java判斷一個物件屬性是否為空
就是在服務端在返回資料結構時,有些欄位有時返回有時不返回(根據欄位值來決定);但客戶端會用到這些欄位當沒有返回時就會報空指標異常。 解決方法: for (Field f : obj.
Java陣列反射實現動態的判斷一個物件書否是陣列,並且對陣列進行拆包輸出 。。
package me.test; import java.lang.reflect.Array; public class ArrayReflect { public static void m
判斷一個物件裡面的屬性是否為null
public static boolean allFieldIsNULL(Object o){ //Object o = new Object(); //TODO o表示一個物件 try { for (Field field : o.getClass(
java中,只宣告一個物件不賦值,與宣告一個物件並賦為null,有啥區別?
轉自:http://www.oschina.net/question/557858_127408 http://zhidao.baidu.com/link?url=rp_hAuPys2vMPnir0t7IFccKVnwEm8zHI7-wEoBSJXw05SAmKHGOObT
判斷一個物件是不是陣列,有幾種辦法?
這是一個出現過無數次的話題,這裡再次重寫僅作為個人的學習筆記,謝謝觀看。 0、typeof typeof 運算子的主要作用就是用來檢測資料的型別,一般情況下我們都是使用它來判斷資料型別,但是這裡,我把typeof 放在0的位置,因為 typeof 不能檢
如何判斷一個單鏈表是否有環?
算法 查找 public class LinkedListRing{ static class LinkedNode<T>{ private T t ; private LinkedNode<T> next = null; public LinkedNode(T t)
判斷一個函數是否有參數傳遞進來
arguments 參數個數判斷一個函數是否有參數傳遞進來第一種方法:第二種方法:判斷一個函數是否有參數傳遞進來
從javascript判斷一個物件是否為陣列中學習js語法
1,真正的陣列的判斷方法 javascript中最簡單的宣告陣列方法為: var a = []; 判斷是否為陣列的最直接的方法為: a instanceof Array //true a .constructor == Array //true 這裡涉及到一個i
面試題:判斷一個物件是不是陣列型別
<script> //判斷一個物件是不是陣列型別 typeof不能檢視所有型別 var obj1={x:1,y:2}, obj2=[1,2,3], obj3=new Date(); //1.判斷爹(原型物件)
面試題-如何判斷一個物件是不是陣列型別
在前端面試中,我們經常會被問道,如何判斷一個物件是不是陣列型別,下面就這一點展開詳細的描述,並總結一下共有幾種方法。 1.我們首先回顧一下typeof操作符的用法 操作符可以用來檢測給定變數的資料型別,返回的值有以下幾種:undefined,boolean,string,number,object,f
如何判斷一個物件是否為jquery物件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
如何判斷一個物件例項是不是某個型別,如Cat型別
<script> function cat(){} var b = new cat(); if(b instanceof cat){ console.log("a是cat") } if(b.constructor==cat){
判斷一個物件是不是一個數組
判斷一個物件是不是一個數組的方法: 1.驗證原型物件 如果一個物件的原型物件是Array.prototype Object.getPrototypeOf(obj)==Array.prototype var bool=father.isPrototypeOf(child) var obj
Js中如何判斷一個物件為陣列型別
在說明如何判斷一個物件為陣列型別前,我們先鞏固下js的資料型別,js一共有六大資料型別:number、string、object、Boolean、null、undefined。 string: 由單引號或雙引號來說明,如"string"; number:陣列型別,比如整數、小數等; Boolea
js 判斷一個物件是否為空方法總結
通常情況下,工作中寫邏輯的時候都會用到判斷一個物件是否為空的方法,巧的是今天正好有人問我這個問題,我竟然沒回答上來,很尷尬,決定研究一下總結下來,之前研究過但是久了不用就生疏了!大意啊 1.將json物件轉化為json字串,再判斷該字串是否為"{}" var data = {};
如何判斷一個物件是不是陣列、
如何判斷一個物件是不是陣列?是一個比較常見的問題。我總結鏈四種方法,如下。 The First method Array.prototype.isPrototypeOf(obj) // 判斷A
演算法之(二)判斷一個單鏈表是否有環
思路:如果一個單鏈表中有環,用一個指標去遍歷,永遠不會結束,所以可以用兩個指標,一個指標一次走一步,另一個指標一次走兩步,如果存在環,則這兩個指標會在環內相遇,時間複雜度為O(n)。 拓展問題1:如果單鏈表有環,找出環的入口節點(環的連線點)。 這裡先證明一個
JavaScript判斷一個物件是否為空
寫一個函式 isEmptyObject,判斷一個物件是不是空物件 function isEmptyObject(obj){ for(var item in obj){ ret
JS心得——判斷一個物件是否為空
判斷一個物件是否為空物件,本文給出三種判斷方法: 最常見的思路,for...in...遍歷屬性,為真則為“非空陣列”;否則為“空陣列” 2.通過JSON自帶的.stringify方法來判斷: 3.ES6新增的方法Object.keys():