7 個 JDK 中的坑
// 調(diào)用用戶服務(wù)根據(jù)用戶id獲取用戶信息
Map<String, Object> userInfo = userService.getUserInfoById(userId);
Object userNameObject = userInfo.get("name");
String userName = String.valueOf(userNameObject);
// 判空
if(userName!=null&&userName.length()>0) {
String message = getMessage(userName);
smsService.send(message);
}
二. Integer.parseInt()方法很矯情
四. Collections.emptyList()此list非彼list
我們先來看一個sample:
public List<String> getUserNameList(String userId) {
List<String> resultList = Collections.emptyList();
try {
resultList = userDao.getUserName(userId);
} catch (Exception ex) {
logger.info(ex);
}
return resultList;
}
public static final List EMPTY_LIST = new EmptyList<>();
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer integer = iterator.next();
if (integer == 2) {
iterator.remove();
}
}
1和1.0在比較的時(shí)候返回了false,這是因?yàn)樵趀quals的源碼中進(jìn)行了數(shù)據(jù)的scale(也就是精度)的比較,如果不一致就會返回false,如果使用compareTo方法就不存在這個問題
正確的姿勢:
7.3.String的split方法在進(jìn)行||分割的時(shí)候需要進(jìn)行轉(zhuǎn)義,否則結(jié)果會有問題
作者:Yrion
-END-
PS:歡迎在留言區(qū)留下你的觀點(diǎn),一起討論提高。如果今天的文章讓你有新的啟發(fā),歡迎轉(zhuǎn)發(fā)分享給更多人。
Java后端編程交流群已成立
公眾號運(yùn)營至今,離不開小伙伴們的支持。為了給小伙伴們提供一個互相交流的平臺,特地開通了官方交流群。掃描下方二維碼備注 進(jìn)群 或者關(guān)注公眾號 Java后端編程 后獲取進(jìn)群通道。
—————END—————
推薦閱讀:
谷歌發(fā)布新編程語言,專治SQL各種不服
Java實(shí)現(xiàn)超市管理系統(tǒng),包含源代碼!
Spring Boot 接入支付寶,實(shí)戰(zhàn)來了!
Nginx 除了負(fù)載均衡,還能做什么?
SpringBoot+MyBatis+docker電商項(xiàng)目,附帶超詳細(xì)的文檔!
最近面試BAT,整理一份面試資料《Java面試BAT通關(guān)手冊》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:關(guān)注公眾號并回復(fù) java 領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
明天見(??ω??)??
評論
圖片
表情
