Java判斷一個實體是不是空的簡單方法
在Java中,我們可以使用以下方法來判斷一個實體是否為空:
1、對象是否為null
可以使用Java中的==運算符來判斷一個對象是否為null,如果對象為null,則表示對象為空。
例如:
Object obj = null;
if (obj == null) {
System.out.println("對象為空");
}2、字符串是否為空
可以使用Java中的isEmpty()方法來判斷一個字符串是否為空,如果字符串為空,則返回true。
例如:
String str = "";
if (str.isEmpty()) {
System.out.println("字符串為空");
}3、集合是否為空
可以使用Java中的isEmpty()方法來判斷一個集合是否為空,如果集合為空,則返回true。
例如:
List<String> list = new ArrayList<String>();
if (list.isEmpty()) {
System.out.println("集合為空");
}4、數(shù)組是否為空
在Java中,數(shù)組是一個對象,可以使用==運算符來判斷一個數(shù)組是否為空,如果數(shù)組為null,則表示數(shù)組為空。
例如:
int[] arr = null;
if (arr == null) {
System.out.println("數(shù)組為空");
}綜上所述,我們可以使用不同的方法來判斷一個實體是否為空,具體使用哪種方法取決于實體的類型和具體情況。
附:Java 判斷實體類對象的全部屬性是否空
代碼:
public boolean checkObjAllFieldsIsNull(Object object) {
// 如果對象為null直接返回true
if (null == object) {
return true;
}
try {
// 挨個獲取對象屬性值
for (Field f : object.getClass().getDeclaredFields()) {
f.setAccessible(true);
// 如果有一個屬性值不為null,且值不是空字符串,就返回false
if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}如果持久層用的是 MyBatis-Plus 框架,上面的代碼會一直返回 false,這時候需要先在需要判斷的實力類對象中加入 serialVersionUID 全局參數(shù)
private static final long serialVersionUID = 1L;
再使用下面的代碼:
import java.lang.reflect.Field;
/**
* 判斷實體類對象的屬性值是否全部為空
* @param object
* @return
*/
public boolean checkObjAllFieldsIsNull(Object object) {
// 如果對象為null直接返回true
if (null == object) {
return true;
}
try {
// 挨個獲取對象屬性值
for (Field f : object.getClass().getDeclaredFields()) {
f.setAccessible(true);
// 如果屬性名不為serialVersionUID,有一個屬性值不為null,且值不是空字符串,就返回false
if (!"serialVersionUID".equals(f.getName()) &&
f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}總結(jié)
到此這篇關于Java判斷一個實體是不是空的文章就介紹到這了,更多相關Java判斷實體是不是空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Security 在 Spring Boot 中的使用詳解【集中式】
這篇文章主要介紹了Spring Security 在 Spring Boot 中的使用【集中式】,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
SpringBoot項目Jar包使用systemctl運行過程
這篇文章主要介紹了SpringBoot項目Jar包使用systemctl運行過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
MyBatisPlus條件構(gòu)造器的實現(xiàn)示例
本文主要介紹了MyBatisPlus條件構(gòu)造器的實現(xiàn)示例,主要包括了QueryWrapper,UpdateWrapper,LambdaQueryWrapper,LambdaUpdateWrapper這四種,具有一定的參考價值,感興趣的可以了解下2023-12-12

