国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java判斷l(xiāng)ist不為空的實(shí)現(xiàn),和限制條數(shù)不要在一起寫(xiě)

瀏覽:48日期:2022-08-17 16:54:29
場(chǎng)景

很多情況下,查單條記錄也用通用查詢接口,但是輸入的條件卻能確定唯一性。如果我們要確定list中只有一條記錄,如下寫(xiě)法:

// 記錄不為空 && 只有一條 才繼續(xù)if(!CollectionUtils.isEmpty(list) && 1!=list.size()){ return '記錄條數(shù)不是1';}Object object = list.get(0);

上面代碼對(duì)么,貌似正確啊。后來(lái)報(bào)錯(cuò)了,被打臉了。

其實(shí)相當(dāng)于 >0 && !=1 恰好漏掉了 =0 這種情況,

因此get(0)完美報(bào)錯(cuò)。

解決方案

像這種條件不要怕麻煩,多寫(xiě)幾個(gè)if更清晰。

補(bǔ)充:判斷一個(gè)java對(duì)象中的屬性值是否為空(批量判斷)

有時(shí)候數(shù)據(jù)庫(kù)中的某些字段值要求不為空,所以代碼中要判斷這些字段對(duì)應(yīng)的屬性值是否為空,當(dāng)對(duì)象屬性過(guò)多時(shí),一個(gè)一個(gè)屬性去判斷,會(huì)顯得代碼冗余,所以,可以借助工具類(lèi)

import org.apache.commons.lang.StringUtils;import org.springframework.beans.BeanUtils;import org.springframework.beans.FatalBeanException;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.lang.reflect.Modifier;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class IsNull { //整個(gè)類(lèi)都校驗(yàn) public static List<String> validateProperty(Object validateObj) { return validateProperty(validateObj,(String[])null); } //類(lèi)中的某些字段不校驗(yàn) public static List<String> validateProperty(Object validateObj,String... ignoreProperties) { PropertyDescriptor[] targetPds = BeanUtils.getPropertyDescriptors(validateObj.getClass()); List<String> ignoreList = (ignoreProperties != null ? Arrays.asList(ignoreProperties) : null); List<String> errList = new ArrayList<>(); for (PropertyDescriptor targetPd : targetPds) { Method readMethod = targetPd.getReadMethod(); if (readMethod != null && (ignoreList == null || !ignoreList.contains(targetPd.getName()))) {try { if (!Modifier.isPublic(readMethod.getDeclaringClass().getModifiers())) { readMethod.setAccessible(true); } Object value = readMethod.invoke(validateObj); if (value instanceof String) { if (StringUtils.isEmpty((String) value)) { errList.add(validateObj.getClass().getSimpleName()+ '中的' + targetPd.getName() + '不能為空'); continue; } } if (value instanceof Float || value instanceof Integer) { if (StringUtils.isEmpty(value.toString())) { errList.add(validateObj.getClass().getSimpleName()+ '中的' + targetPd.getName() + '不能為空'); continue; } } if (value == null) { errList.add(validateObj.getClass().getSimpleName() + '中的' + targetPd.getName() + '不能為空'); }} catch (Throwable ex) { throw new FatalBeanException( 'Could not copy property ’' + targetPd.getName() + '’ from source to target', ex);} } } return errList; }}

之后對(duì)拿到的數(shù)據(jù)進(jìn)行業(yè)務(wù)判斷

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
主站蜘蛛池模板: 最新亚洲精品 | 久久成人免费观看草草影院 | 国产成人女人在线视频观看 | 日韩三级观看 | 亚洲国产福利精品一区二区 | 免费国产成人综合 | 91成人国产网站在线观看 | 中文字幕一区二区精品区 | 成人精品国产亚洲 | 国产一区二区三区欧美 | 亚洲综合亚洲 | 亚洲一级高清在线中文字幕 | 国产成人精品视频播放 | 久久色国产| 国产成人免费高清激情视频 | 久草经典视频 | 国产精品免费观在线 | 久草福利在线观看 | 成人国产在线24小时播放视频 | 一级成人a做片免费 | 国产精品伦理久久久久 | 日韩经典中文字幕 | 337p粉嫩大胆噜噜噜鲁 | 91日本在线观看亚洲精品 | 99精品久久久久久 | 国产成人综合精品一区 | 视频一区在线观看 | 日韩美女毛片 | 欧美成人爽毛片在线视频 | 国产免费自拍视频 | 中国成人在线视频 | 国产人成在线视频 | 久久成人小视频 | 亚洲欧美一区二区三区在线播放 | 小屁孩cao大人免费网站 | 亚洲国产成人久久99精品 | 国产成人综合久久精品亚洲 | 中文成人在线视频 | 夜精品a一区二区三区 | 欧美日韩在线视频不卡一区二区三区 | 舔操|