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

Java 判斷實(shí)體對(duì)象及所有屬性是否為空的操作

 更新時(shí)間:2020年12月08日 11:12:10   作者:春風(fēng)化作秋雨  
這篇文章主要介紹了Java 判斷實(shí)體對(duì)象及所有屬性是否為空的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1、判斷實(shí)體對(duì)象是否為空

2、判斷對(duì)象所有屬性是否為空

3、特別注意,實(shí)體類中如果有基本數(shù)據(jù)類型,會(huì)影響判斷

package com.liuxd.object; 
import org.apache.commons.lang3.StringUtils; 
import java.lang.reflect.Field;
 
/**
 * Created by Liuxd on 2018/11/2.
 */
public class TestEntity {
 
 public static void main(String[] args) {
 User user1 = new User("Jack", "male", 17);
 User user2 = new User();
 
 boolean u1Flag = checkObjAllFieldsIsNull(user1);
 boolean u2Flag = checkObjAllFieldsIsNull(user2);
 
 System.out.println("user1 是否為空:" + u1Flag);
 System.out.println("user2 是否為空:" + u2Flag); 
 }
 
 /**
 * 判斷對(duì)象中屬性值是否全為空
 *
 * @param object
 * @return
 */
 public static boolean checkObjAllFieldsIsNull(Object object) {
 if (null == object) {
  return true;
 }
 
 try {
  for (Field f : object.getClass().getDeclaredFields()) {
  f.setAccessible(true);
 
  System.out.print(f.getName() + ":");
  System.out.println(f.get(object));
 
  if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
   return false;
  }
 
  }
 } catch (Exception e) {
  e.printStackTrace();
 }
 
 return true;
 }
}

實(shí)體類:

package com.liuxd.object;
 
/**
 * Created by Liuxd on 2018/11/2.
 */
public class User { 
 private String name; 
 private String gender;
 
 /**
 * 如果屬性類型為基本數(shù)據(jù)類型,則會(huì)有默認(rèn)值
 * 影響正確判斷,請(qǐng)?zhí)貏e注意
 */
// private int age; 
 private Integer age; 
 public User() {
 }
 
 public User(String name, String gender, int age) {
 this.name = name;
 this.gender = gender;
 this.age = age;
 }
 
 public String getName() {
 return name;
 }
 
 public void setName(String name) {
 this.name = name;
 }
 
 public String getGender() {
 return gender;
 }
 
 public void setGender(String gender) {
 this.gender = gender;
 }
 
 public Integer getAge() {
 return age;
 }
 
 public void setAge(Integer age) {
 this.age = age;
 }
}

輸出結(jié)果:

name:Jack
name:null
gender:null
age:null
user1 是否為空:false
user2 是否為空:true

補(bǔ)充知識(shí):Java判斷一個(gè)實(shí)體類對(duì)象實(shí)例的所有成員變量是否為空

看代碼吧~

/**
 *判斷一個(gè)實(shí)體類對(duì)象實(shí)例的所有成員變量是否為空
 *@param obj 校驗(yàn)的類對(duì)象實(shí)例
 *@return List 
 *@throws Exception
 */

public static List<String> isObjectFieldEmpty(Object obj) throws Exception {
 Class<?> clazz=obj.getClass(); //得到類對(duì)象
 Field[] fs=clazz.getDeclareFields(); //得到屬性集合
 List<String> list=new ArrayList<String>();
 for(Field field:fs){      //遍歷屬性
   field.setAccessible(true); //設(shè)置屬性是可以訪問的(私有的也可以)
   if(field.get(obj)==null||field.get(obj)==""||"null".equalsIngnoreCase(String)field.get(obj))){
  String name=(String)field.getName();
  list.add(name);
  }
 }
 return list;
}

以上這篇Java 判斷實(shí)體對(duì)象及所有屬性是否為空的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java并發(fā)之AtomicInteger源碼分析

    java并發(fā)之AtomicInteger源碼分析

    AtomicInteger是java并發(fā)包下面提供的原子類,主要操作的是int類型的整型,通過調(diào)用底層Unsafe的CAS等方法實(shí)現(xiàn)原子操作。下面小編和大家一起學(xué)習(xí)一下
    2019-05-05
  • SpringBoot對(duì)靜態(tài)資源的映射規(guī)則詳解解讀

    SpringBoot對(duì)靜態(tài)資源的映射規(guī)則詳解解讀

    這篇文章主要介紹了SpringBoot對(duì)靜態(tài)資源的映射規(guī)則詳解解讀,在Spring Boot中,映射規(guī)則是用來定義URL與控制器方法之間的映射關(guān)系的,通過映射規(guī)則,可以將特定的URL請(qǐng)求映射到相應(yīng)的控制器方法上,從而實(shí)現(xiàn)請(qǐng)求的處理和響應(yīng)的返回,需要的朋友可以參考下
    2023-10-10
  • springboot集成普羅米修斯(Prometheus)的方法

    springboot集成普羅米修斯(Prometheus)的方法

    這篇文章主要介紹了springboot集成普羅米修斯(Prometheus)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用@value注解取不到application.xml配置文件中的值問題

    使用@value注解取不到application.xml配置文件中的值問題

    這篇文章主要介紹了使用@value注解取不到application.xml配置文件中的值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • springboot?publish?event?事件機(jī)制demo分享

    springboot?publish?event?事件機(jī)制demo分享

    這篇文章主要介紹了springboot?publish?event?事件機(jī)制demo,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Mybatis返回單個(gè)實(shí)體或者返回List的實(shí)現(xiàn)

    Mybatis返回單個(gè)實(shí)體或者返回List的實(shí)現(xiàn)

    這篇文章主要介紹了Mybatis返回單個(gè)實(shí)體或者返回List的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 解決Mybatis-Plus更新方法不更新NULL字段的問題

    解決Mybatis-Plus更新方法不更新NULL字段的問題

    這篇文章主要介紹了解決Mybatis-Plus更新方法不更新NULL字段的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 一文帶你搞懂Java中線程的創(chuàng)建方式

    一文帶你搞懂Java中線程的創(chuàng)建方式

    這篇文章主要為大家詳細(xì)介紹了Java中線程的創(chuàng)建方式的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2023-03-03
  • java中Cookie被禁用后Session追蹤問題

    java中Cookie被禁用后Session追蹤問題

    這篇文章主要介紹了Java中Cookie被禁用后Session追蹤問題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • Spring動(dòng)態(tài)管理定時(shí)任務(wù)之ThreadPoolTaskScheduler解讀

    Spring動(dòng)態(tài)管理定時(shí)任務(wù)之ThreadPoolTaskScheduler解讀

    這篇文章主要介紹了Spring動(dòng)態(tài)管理定時(shí)任務(wù)之ThreadPoolTaskScheduler解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評(píng)論

伊川县| 万宁市| 保定市| 承德县| 蓝山县| 滨州市| 肇源县| 凤山市| 遵义县| 从江县| 彩票| 电白县| 梁河县| 来凤县| 黎城县| 印江| 桃江县| 和顺县| 梁平县| 佛教| 鹤峰县| 尼勒克县| 荆州市| 萍乡市| 交城县| 尼玛县| 大化| 汉沽区| 饶阳县| 屏南县| 香河县| 昌邑市| 沈丘县| 永丰县| 英吉沙县| 遂昌县| 开远市| 嘉定区| 洪江市| 大邑县| 上杭县|