Java判斷一個(gè)實(shí)體是不是空的簡(jiǎn)單方法
在Java中,我們可以使用以下方法來判斷一個(gè)實(shí)體是否為空:
1、對(duì)象是否為null
可以使用Java中的==運(yùn)算符來判斷一個(gè)對(duì)象是否為null,如果對(duì)象為null,則表示對(duì)象為空。
例如:
Object obj = null;
if (obj == null) {
System.out.println("對(duì)象為空");
}2、字符串是否為空
可以使用Java中的isEmpty()方法來判斷一個(gè)字符串是否為空,如果字符串為空,則返回true。
例如:
String str = "";
if (str.isEmpty()) {
System.out.println("字符串為空");
}3、集合是否為空
可以使用Java中的isEmpty()方法來判斷一個(gè)集合是否為空,如果集合為空,則返回true。
例如:
List<String> list = new ArrayList<String>();
if (list.isEmpty()) {
System.out.println("集合為空");
}4、數(shù)組是否為空
在Java中,數(shù)組是一個(gè)對(duì)象,可以使用==運(yùn)算符來判斷一個(gè)數(shù)組是否為空,如果數(shù)組為null,則表示數(shù)組為空。
例如:
int[] arr = null;
if (arr == null) {
System.out.println("數(shù)組為空");
}綜上所述,我們可以使用不同的方法來判斷一個(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)文章
JFrame中添加和設(shè)置JPanel的方法實(shí)例解析
這篇文章主要介紹了JFrame中添加和設(shè)置JPanel的方法實(shí)例解析,具有一定借鑒價(jià)值2018-01-01
Elasticsearch?mapping?概念及自動(dòng)創(chuàng)建示例
這篇文章主要為大家介紹了Elasticsearch?mapping?概念及自動(dòng)創(chuàng)建示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Java深入了解數(shù)據(jù)結(jié)構(gòu)之二叉搜索樹增 插 刪 創(chuàng)詳解
二叉搜索樹是以一棵二叉樹來組織的。每個(gè)節(jié)點(diǎn)是一個(gè)對(duì)象,包含的屬性有l(wèi)eft,right,p和key,其中,left指向該節(jié)點(diǎn)的左孩子,right指向該節(jié)點(diǎn)的右孩子,p指向該節(jié)點(diǎn)的父節(jié)點(diǎn),key是它的值2022-01-01
Java數(shù)據(jù)結(jié)構(gòu)超詳細(xì)分析二叉搜索樹
二叉搜索樹是以一棵二叉樹來組織的。每個(gè)節(jié)點(diǎn)是一個(gè)對(duì)象,包含的屬性有l(wèi)eft,right,p和key,其中,left指向該節(jié)點(diǎn)的左孩子,right指向該節(jié)點(diǎn)的右孩子,p指向該節(jié)點(diǎn)的父節(jié)點(diǎn),key是它的值2022-03-03
java操作Redis緩存設(shè)置過期時(shí)間的方法
這篇文章主要介紹了java操作Redis緩存設(shè)置過期時(shí)間的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
詳解Java枚舉類在生產(chǎn)環(huán)境中的使用方式
本文主要介紹了Java枚舉類在生產(chǎn)環(huán)境中的使用方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
SpringBoot使用JDBC獲取相關(guān)的數(shù)據(jù)方法
這篇文章主要介紹了SpringBoot使用JDBC獲取相關(guān)的數(shù)據(jù)方法,JDBC與數(shù)據(jù)庫建立連接、發(fā)送 操作數(shù)據(jù)庫的語句并處理結(jié)果,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03

