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

Java 判斷實體對象及所有屬性是否為空的操作

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

1、判斷實體對象是否為空

2、判斷對象所有屬性是否為空

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

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); 
 }
 
 /**
 * 判斷對象中屬性值是否全為空
 *
 * @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;
 }
}

實體類:

package com.liuxd.object;
 
/**
 * Created by Liuxd on 2018/11/2.
 */
public class User { 
 private String name; 
 private String gender;
 
 /**
 * 如果屬性類型為基本數(shù)據(jù)類型,則會有默認(rèn)值
 * 影響正確判斷,請?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ǔ)充知識:Java判斷一個實體類對象實例的所有成員變量是否為空

看代碼吧~

/**
 *判斷一個實體類對象實例的所有成員變量是否為空
 *@param obj 校驗的類對象實例
 *@return List 
 *@throws Exception
 */

public static List<String> isObjectFieldEmpty(Object obj) throws Exception {
 Class<?> clazz=obj.getClass(); //得到類對象
 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 判斷實體對象及所有屬性是否為空的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

开原市| 南靖县| 镇雄县| 措勤县| 石家庄市| 习水县| 敦化市| 湖南省| 昌黎县| 乐清市| 贡嘎县| 梁河县| 丹凤县| 澄城县| 宜君县| 德令哈市| 高安市| 大渡口区| 玛沁县| 和平区| 曲周县| 三江| 镇雄县| 微山县| 辽中县| 旬阳县| 咸宁市| 朝阳市| 郁南县| 常德市| 河东区| 龙山县| 台南市| 金阳县| 招远市| 楚雄市| 潜山县| 财经| 柳河县| 白玉县| 阳曲县|