Java判斷一個(gè)實(shí)體是不是空的簡(jiǎn)單方法
在Java中,我們可以使用以下方法來(lái)判斷一個(gè)實(shí)體是否為空:
1、對(duì)象是否為null
可以使用Java中的==運(yùn)算符來(lái)判斷一個(gè)對(duì)象是否為null,如果對(duì)象為null,則表示對(duì)象為空。
例如:
Object obj = null;
if (obj == null) {
System.out.println("對(duì)象為空");
}2、字符串是否為空
可以使用Java中的isEmpty()方法來(lái)判斷一個(gè)字符串是否為空,如果字符串為空,則返回true。
例如:
String str = "";
if (str.isEmpty()) {
System.out.println("字符串為空");
}3、集合是否為空
可以使用Java中的isEmpty()方法來(lái)判斷一個(gè)集合是否為空,如果集合為空,則返回true。
例如:
List<String> list = new ArrayList<String>();
if (list.isEmpty()) {
System.out.println("集合為空");
}4、數(shù)組是否為空
在Java中,數(shù)組是一個(gè)對(duì)象,可以使用==運(yùn)算符來(lái)判斷一個(gè)數(shù)組是否為空,如果數(shù)組為null,則表示數(shù)組為空。
例如:
int[] arr = null;
if (arr == null) {
System.out.println("數(shù)組為空");
}綜上所述,我們可以使用不同的方法來(lái)判斷一個(gè)實(shí)體是否為空,具體使用哪種方法取決于實(shí)體的類型和具體情況。
附:Java 判斷實(shí)體類對(duì)象的全部屬性是否空
代碼:
public boolean checkObjAllFieldsIsNull(Object object) {
// 如果對(duì)象為null直接返回true
if (null == object) {
return true;
}
try {
// 挨個(gè)獲取對(duì)象屬性值
for (Field f : object.getClass().getDeclaredFields()) {
f.setAccessible(true);
// 如果有一個(gè)屬性值不為null,且值不是空字符串,就返回false
if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}如果持久層用的是 MyBatis-Plus 框架,上面的代碼會(huì)一直返回 false,這時(shí)候需要先在需要判斷的實(shí)力類對(duì)象中加入 serialVersionUID 全局參數(shù)
private static final long serialVersionUID = 1L;
再使用下面的代碼:
import java.lang.reflect.Field;
/**
* 判斷實(shí)體類對(duì)象的屬性值是否全部為空
* @param object
* @return
*/
public boolean checkObjAllFieldsIsNull(Object object) {
// 如果對(duì)象為null直接返回true
if (null == object) {
return true;
}
try {
// 挨個(gè)獲取對(duì)象屬性值
for (Field f : object.getClass().getDeclaredFields()) {
f.setAccessible(true);
// 如果屬性名不為serialVersionUID,有一個(gè)屬性值不為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é)
到此這篇關(guān)于Java判斷一個(gè)實(shí)體是不是空的文章就介紹到這了,更多相關(guān)Java判斷實(shí)體是不是空內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實(shí)現(xiàn)的xml格式化實(shí)現(xiàn)代碼
這篇文章主要介紹了java實(shí)現(xiàn)的xml格式化實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-11-11
Spring Security 在 Spring Boot 中的使用詳解【集中式】
這篇文章主要介紹了Spring Security 在 Spring Boot 中的使用【集中式】,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
SpringBoot項(xiàng)目Jar包使用systemctl運(yùn)行過(guò)程
這篇文章主要介紹了SpringBoot項(xiàng)目Jar包使用systemctl運(yùn)行過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Java超過(guò)long類型的數(shù)據(jù)表示方法
這篇文章主要給大家介紹Java超過(guò)long類型的數(shù)據(jù)如何表示,在 Java 中,如果需要表示超過(guò) long 類型范圍的數(shù)據(jù),可以使用 BigInteger 類,BigInteger 是 Java 提供的一個(gè)用于處理任意精度整數(shù)的類,它可以表示非常大或非常小的整數(shù),需要的朋友可以參考下2023-09-09
MyBatisPlus條件構(gòu)造器的實(shí)現(xiàn)示例
本文主要介紹了MyBatisPlus條件構(gòu)造器的實(shí)現(xiàn)示例,主要包括了QueryWrapper,UpdateWrapper,LambdaQueryWrapper,LambdaUpdateWrapper這四種,具有一定的參考價(jià)值,感興趣的可以了解下2023-12-12
Java去掉小數(shù)點(diǎn)后面無(wú)效0的方案與建議
當(dāng)前小數(shù)點(diǎn)后面的位數(shù)過(guò)多的時(shí)候,多余的0沒(méi)有實(shí)際意義,下面這篇文章主要給大家介紹了關(guān)于Java去掉小數(shù)點(diǎn)后面無(wú)效0的方案與建議,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
springboot手寫(xiě)一個(gè)自己的starter源碼
在本篇文章里小編給大家整理了關(guān)于springboot手寫(xiě)一個(gè)自己的starter源碼的全部知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-06-06

