導航:首頁 > 編程語言 > java欄位判斷為空的時候賦值為0

java欄位判斷為空的時候賦值為0

發布時間:2023-10-22 15:30:58

1. java:創建了一個int變數的話,如何判斷該變數是否為空呢

int a; //默認是 0

方法一:
StringUtil.isEmpty(String.valueOf(a));//此處a必須初始化 總是返回為false 你懂版得
方法二:權
Pattern p = Pattern .compile("^-?\\d+$");
Matcher m = p.macther(a+"");
m.matches() // 總是 返回true 你懂得

2. java中如何給字元串數組中為空的部分賦值

||if(a[i] == null ||"".equals(a[i]));
這是最簡單直觀的方法了,不過效率比較低。
效率高點的:
if(a[i] == null |版| a[i].length() <= 0);
Java SE 6.0 開始提供權的方法:

if(a[i] == null || a[i].isEmpty());

Java兩個字元串相比較才需要equals(),判斷是否為null直接用==就行

3. java中 如何給int數組賦值賦一個空值

在java中int數組不能賦值為空,只能為0.
如果想達到類似的效果, 請將int數組轉換為Integer數組。
Integer可以為空, 但int 不能為空

4. java對象為空的判斷

/**
*判斷對象或對象數組中每一個對象是否為空:對象為null,字元序列長度為0,集合類、Map為empty
*
*@paramobj
*@return
*/
(Objectobj){
if(obj==null)
returntrue;

if(objinstanceofCharSequence)
return((CharSequence)obj).length()==0;

if(objinstanceofCollection)
return((Collection)obj).isEmpty();

if(objinstanceofMap)
return((Map)obj).isEmpty();

if(objinstanceofObject[]){
Object[]object=(Object[])obj;
if(object.length==0){
returntrue;
}
booleanempty=true;
for(inti=0;i<object.length;i++){
if(!isNullOrEmpty(object[i])){
empty=false;
break;
}
}
returnempty;
}
returnfalse;
}
應用場景:
讀取excel文件,轉化為一個二維數組:Object[][]arrays
但是excel中有空行,所以需要過濾Object[][]arrays中的空的一維數組:
Java代碼
/***
*過濾數組中的空元素
*
*
*@paramarrays
*@return
*/
publicstaticObject[][]filterEmpty(Object[][]arrays){
intsumNotNull=0;
/***
*統計非空元素的總個數
*/
for(inti=0;i<arrays.length;i++){
Objectobject=arrays[i];
if(!ValueWidget.isNullOrEmpty(object)
&&!SystemUtil.isNullOrEmpty((Object[])object)){//判斷元素是否為空
sumNotNull=sumNotNull+1;
}
}
Object[][]filtedObjs=newObject[sumNotNull][];
intindex=0;
for(inti=0;i<arrays.length;i++){
Object[]object_tmp=arrays[i];
if(!ValueWidget.isNullOrEmpty(object_tmp)
&&!SystemUtil.isNullOrEmpty((Object[])object_tmp)){//判斷元素是否為空
filtedObjs[index++]=object_tmp;
}
}
returnfiltedObjs;
}
判斷對象的所有成員變數是否為空
Java代碼
/***
*Determinewhethertheobject'sfieldsareempty
*
*@paramobj
*@paramisExcludeZero:true:數值類型的值為0,則當做為空;----false:數值類型的值為0,則不為空
*
*@return
*@throwsSecurityException
*@
*@throwsNoSuchFieldException
*@throwsIllegalAccessException
*/
(Objectobj,booleanisExcludeZero)
throwsSecurityException,IllegalArgumentException,
NoSuchFieldException,IllegalAccessException{
if(ValueWidget.isNullOrEmpty(obj)){//對象本身就為null
returntrue;
}
List<Field>fieldList=ReflectHWUtils.getAllFieldList(obj.getClass());
booleanisNull=true;
for(inti=0;i<fieldList.size();i++){
Fieldf=fieldList.get(i);
ObjectpropertyValue=null;
try{
propertyValue=getObjectValue(obj,f);
}catch(NoSuchFieldExceptione){
e.printStackTrace();
}

if(!ValueWidget.isNullOrEmpty(propertyValue)){//欄位不為空
if(){//是數字
if(!((Integer)propertyValue==0&&isExcludeZero)){
isNull=false;
break;
}
}elseif(propertyValueinstanceofDouble){//是數字
if(!((Double)propertyValue==0&&isExcludeZero)){
isNull=false;
break;
}
}elseif(propertyValueinstanceofFloat){//是數字
if(!((Float)propertyValue==0&&isExcludeZero)){
isNull=false;
break;
}
}elseif(propertyValueinstanceofShort){//是數字
if(!((Short)propertyValue==0&&isExcludeZero)){
isNull=false;
break;
}
}else{
isNull=false;
break;
}
}
}
returnisNull;
}
測試:
Java代碼
@Test
publicvoidtest_isNullObject()throwsSecurityException,
IllegalArgumentException,NoSuchFieldException,
IllegalAccessException{
Person2p=newPerson2();
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代碼
importjava.sql.Timestamp;

publicclassPerson2{
privateintid;
privateintage;
privatedoubleweight;
privateStringpersonName;
privateTimestampbirthdate;
publicStringidentitify;
protectedStringaddress;
Stringphone;

}

5. java判斷int是否為空

int point;String val=point +""; 而是一個中間變數, int point= GiftInfo.getPoints(); 在資料庫表中有屬性欄位名稱points,類型為int。

如果我們沒有向這個表中插數據,這時候point就是空值,而不是默認的0 問題補充:Aubergine_kang 寫道給你講一下啊: java中的類型有基本類型:int long double等,判斷的為0(int)或者0.0(doublefloat) 對象類型:包括基本類型的包裝類,Integer(int) Double Float 不給賦值的時候就為null了 還有一個特殊的String,本身是對象類型也是基本類型。

可以為「」 或者 null都是它為空的時候如果基本數據類型的變數作為中間變數,默認值就沒了,而傳入的參數為 NULL 或「」的時候不好判斷啊。 問題補充:JamesZhao1987 寫道int point= GiftInfo.getPoints();

對於上面的這句話,如果point是int類型,則得到的結果是不可能是null的。 如果插入一條數據時沒有插入給欄位,而資料庫里默認是null的值的話,你可以使用 Integer point= GiftInfo.getPoints();(GiftInfo.getPoints要返回Integer類型) 然後判斷point是否等於null來判斷資料庫是否插入數據了。

6. java怎麼判斷int是否為空

先把int類型的復數據轉換成制String類型,然後判斷String類型的數據是否為空。

示例代碼:

int point;

String val=point +"";if("".equals(val)){// do something...}

PS:int point不是對象,int類型為空時默認為0。

閱讀全文

與java欄位判斷為空的時候賦值為0相關的資料

熱點內容
java將數字轉換成字母 瀏覽:854
c盤中的哪些是系統文件夾 瀏覽:668
分布式服務如何跨庫統計數據 瀏覽:829
力控轉發數據客戶端模式如何建立 瀏覽:200
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905

友情鏈接