先把int類型的數(shù)據(jù)轉(zhuǎn)換成String類型,然后判斷String類型的數(shù)據(jù)是否為空。
成都創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站開發(fā)、展示型網(wǎng)站制作、成都做網(wǎng)站等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。
示例代碼:
int point;
String val=point +"";?if("".equals(val)){?// do something...}
PS:int point不是對象,int類型為空時默認(rèn)為0。
還有方法是:
如果point是int類型,則得到的結(jié)果是不可能是null的。?
如果插入一條數(shù)據(jù)時沒有插入給字段,而數(shù)據(jù)庫里默認(rèn)是null的值的話,可以使用?Integer point= GiftInfo.getPoints();?
然后判斷point是否等于空。?
示例代碼:
Integer point= GiftInfo.getPoints();
if(point == null){?// do something...}
PS:GiftInfo.getPoints返回的是Integer類型,Integer類型是包括基本類型的包裝類,不給賦值的時候?yàn)閚ull。
參考資料
判斷int類型是否為空.CSDN博客 [引用時間2017-12-27]
/**?
*?判斷對象或?qū)ο髷?shù)組中每一個對象是否為空:?對象為null,字符序列長度為0,集合類、Map為empty?
*??
*?@param?obj?
*?@return?
*/??
public?static?boolean?isNullOrEmpty(Object?obj)?{??
if?(obj?==?null)??
return?true;??
if?(obj?instanceof?CharSequence)??
return?((CharSequence)?obj).length()?==?0;??
if?(obj?instanceof?Collection)??
return?((Collection)?obj).isEmpty();??
if?(obj?instanceof?Map)??
return?((Map)?obj).isEmpty();??
if?(obj?instanceof?Object[])?{??
Object[]?object?=?(Object[])?obj;??
if?(object.length?==?0)?{??
return?true;??
}??
boolean?empty?=?true;??
for?(int?i?=?0;?i??object.length;?i++)?{??
if?(!isNullOrEmpty(object[i]))?{??
empty?=?false;??
break;??
}??
}??
return?empty;??
}??
return?false;??
}??
應(yīng)用場景:
讀取excel文件,轉(zhuǎn)化為一個二維數(shù)組:Object[][]?arrays
但是excel中有空行,所以需要過濾Object[][]?arrays中的空的一維數(shù)組:
Java代碼??
/***?
*?過濾數(shù)組中的空元素?
*??
*??
*?@param?arrays?
*?@return?
*/??
public?static?Object[][]?filterEmpty(Object[][]?arrays)?{??
int?sumNotNull?=?0;??
/***?
*?統(tǒng)計(jì)非空元素的總個數(shù)?
*/??
for?(int?i?=?0;?i??arrays.length;?i++)?{??
Object?object?=?arrays[i];??
if?(!ValueWidget.isNullOrEmpty(object)??
!SystemUtil.isNullOrEmpty((Object[])?object))?{//?判斷元素是否為空??
sumNotNull?=?sumNotNull?+?1;??
}??
}??
Object[][]?filtedObjs?=?new?Object[sumNotNull][];??
int?index?=?0;??
for?(int?i?=?0;?i??arrays.length;?i++)?{??
Object[]?object_tmp?=?arrays[i];??
if?(!ValueWidget.isNullOrEmpty(object_tmp)??
!SystemUtil.isNullOrEmpty((Object[])?object_tmp))?{//?判斷元素是否為空??
filtedObjs[index++]?=?object_tmp;??
}??
}??
return?filtedObjs;??
}??
判斷對象的所有成員變量是否為空
Java代碼??
/***?
*?Determine?whether?the?object's?fields?are?empty?
*??
*?@param?obj?
*?@param?isExcludeZero??:true:數(shù)值類型的值為0,則當(dāng)做為空;----false:數(shù)值類型的值為0,則不為空?
*??
*?@return?
*?@throws?SecurityException?
*?@throws?IllegalArgumentException?
*?@throws?NoSuchFieldException?
*?@throws?IllegalAccessException?
*/??
public?static?boolean?isNullObject(Object?obj,?boolean?isExcludeZero)??
throws?SecurityException,?IllegalArgumentException,??
NoSuchFieldException,?IllegalAccessException?{??
if(ValueWidget.isNullOrEmpty(obj)){//對象本身就為null??
return?true;??
}??
ListField?fieldList?=?ReflectHWUtils.getAllFieldList(obj.getClass());??
boolean?isNull?=?true;??
for?(int?i?=?0;?i??fieldList.size();?i++)?{??
Field?f?=?fieldList.get(i);??
Object?propertyValue?=?null;??
try?{??
propertyValue?=?getObjectValue(obj,?f);??
}?catch?(NoSuchFieldException?e)?{??
e.printStackTrace();??
}??
if?(!ValueWidget.isNullOrEmpty(propertyValue))?{//?字段不為空??
if?(propertyValue?instanceof?Integer)?{//?是數(shù)字??
if?(!((Integer)?propertyValue?==?0??isExcludeZero))?{??
isNull?=?false;??
break;??
}??
}?else?if?(propertyValue?instanceof?Double)?{//?是數(shù)字??
if?(!((Double)?propertyValue?==?0??isExcludeZero))?{??
isNull?=?false;??
break;??
}??
}else?if?(propertyValue?instanceof?Float)?{//?是數(shù)字??
if?(!((Float)?propertyValue?==?0??isExcludeZero))?{??
isNull?=?false;??
break;??
}??
}else?if?(propertyValue?instanceof?Short)?{//?是數(shù)字??
if?(!((Short)?propertyValue?==?0??isExcludeZero))?{??
isNull?=?false;??
break;??
}??
}else?{??
isNull?=?false;??
break;??
}??
}??
}??
return?isNull;??
}??
測試:
Java代碼??
@Test??
public?void?test_isNullObject()?throws?SecurityException,??
IllegalArgumentException,?NoSuchFieldException,??
IllegalAccessException?{??
Person2?p?=?new?Person2();??
Assert.assertEquals(true,?ReflectHWUtils.isNullObject(p,?true));??
Assert.assertEquals(false,?ReflectHWUtils.isNullObject(p,?false));??
p.setAddress("beijing");??
Assert.assertEquals(false,?ReflectHWUtils.isNullObject(p,?true));??
Assert.assertEquals(false,?ReflectHWUtils.isNullObject(p,?false));??
p.setAddress(null);??
p.setId(0);??
Assert.assertEquals(true,?ReflectHWUtils.isNullObject(p,?true));??
Assert.assertEquals(false,?ReflectHWUtils.isNullObject(p,?false));??
}??
Person2?源代碼(省略getter,setter方法):
Java代碼??
import?java.sql.Timestamp;??
public?class?Person2?{??
private?int?id;??
private?int?age;??
private?double?weight;??
private?String?personName;??
private?Timestamp?birthdate;??
public?String?identitify;??
protected?String?address;??
String?phone;??
}
看了下代碼,有2個邏輯錯誤
判斷文件是否為空,使用readLine方法,如果返回null,表示為空
ready()表示文件是否準(zhǔn)備完畢
if(!br.ready()) ////////文件為空?
文件讀入流后,一直處于準(zhǔn)備中,因此程序不會進(jìn)入if(!br.ready())語句
不清楚你的邏輯,只能部分修改你的代碼,希望有幫助,代碼和注釋如下:
StringBuffer?sb?=?new?StringBuffer();
br?=?new?BufferedReader(new?FileReader(""));
while?((lineStr?=?br.readLine())?!=?null)?{?//?這里是第一次去,如:第1行
int?i?=?0;
while?(i?=?lineStr.length()?-?1)?{
ch?=?lineStr.charAt(i);
if?(ch?==?dyh.charAt(0))?{
sb.append(ch);
while?(ischaracter)?{
if?(i?==?lineStr.length()?-?1)?{
}
if?((lineStr?=?br.readLine())?!=?null)?{?//?文件不為空:這個時候讀取了下一行,針對上去是第2行
if?(lineStr.trim().length()?==?0)?{?//?去除空格后,長度等于0,表示這是個一空行
//?這是一個空行,加入你的邏輯
}?else?{
//?這行有內(nèi)容,加入你的邏輯
}
}?else?{
//?這里是文件為空
//?加入你的邏輯
}
}
}
}
}
網(wǎng)站名稱:java存在判空代碼 java date判空
當(dāng)前鏈接:http://jinyejixie.com/article48/dosgchp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、移動網(wǎng)站建設(shè)、App開發(fā)、虛擬主機(jī)、網(wǎng)站改版、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)