成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java程序員慣性思維的一個(gè)錯(cuò)誤

開發(fā) 后端
很久沒(méi)有積累東西了,碰巧前幾天遇到一個(gè)的問(wèn)題,雖然不大但是比較有意思,在這里稍微記錄一下,以后可以作為面試題之類的考驗(yàn)其他人,想想也遠(yuǎn)比那些被我們?cè)嵅〉念}目要實(shí)際的多。

很久沒(méi)有積累東西了,碰巧前幾天遇到一個(gè)的問(wèn)題,雖然不大但是比較有意思,在這里稍微記錄一下,以后可以作為面試題之類的考驗(yàn)其他人,想想也遠(yuǎn)比那些被我們?cè)嵅〉念}目要實(shí)際的多:

有表結(jié)構(gòu)如下:

  1. T_SOME_TABLE{ 
  2. crowid varchar(36); 
  3. zrmb float(7,3); 
  4. zjdw float(7,3); 
  5. }  

問(wèn)以下兩段代碼,哪段會(huì)出現(xiàn)錯(cuò)誤,為什么? 

代碼片段一:

  1. //后臺(tái)代碼如下: 
  2.     String hqlStr="select SUM(t.zrmb) AS SUM_1,SUM(t.zjdw) AS SUM_2 from T_SOME_TABLE t where 1=1 "
  3.     List sumList=baseDao.find(hqlStr);//hibernate實(shí)現(xiàn)查詢HQL匯總語(yǔ)句返回結(jié)果List 
  4.     request.setAttribute("sumList",sumList); 
  5.  
  6. //前臺(tái)代碼如下: 
  7.     String sum1=""
  8.     String sum2=""
  9.     ArrayList sumList=request.getAttribute("sumList")==null?null:(ArrayList)request.getAttribute("sumList"); 
  10.     if(null!=sumList){ 
  11.         for(int i=0;i<sumList.size();i++){ 
  12.             Object[] tempObj=(Object[])sumList.get(i); 
  13.             sum1=tempObj[0]==null?"0.0":tempObj[0].toString(); 
  14.             sum2=tempObj[1]==null?"0.0":tempObj[1].toString(); 
  15.         } 
  16.     } 
  17.     out.prinln("sum1:"+sum1); 
  18.     out.prinln("sum2:"+sum2); 

代碼片段二:

  1. //后臺(tái)代碼如下: 
  2.     String hqlStr="select SUM(t.zrmb) AS SUM_1  from T_SOME_TABLE t where 1=1 "
  3.     List sumList=baseDao.find(hqlStr);//hibernate實(shí)現(xiàn)查詢HQL匯總語(yǔ)句返回結(jié)果List 
  4.     request.setAttribute("sumList",sumList); 
  5.  
  6. //前臺(tái)代碼如下: 
  7.     String sum1=""
  8.     ArrayList sumList=request.getAttribute("sumList")==null?null:(ArrayList)request.getAttribute("sumList"); 
  9.     if(null!=sumList){ 
  10.         for(int i=0;i<sumList.size();i++){ 
  11.             Object[] tempObj=(Object[])sumList.get(i); 
  12.             sum1=tempObj[0]==null?"0.0":tempObj[0].toString(); 
  13.         } 
  14.     } 
  15.     out.prinln("sum1:"+sum1); 

實(shí)際運(yùn)行會(huì)發(fā)現(xiàn) 代碼片段2會(huì)出現(xiàn)錯(cuò)誤 而代碼片段1是正常可以運(yùn)行的,這里是在功能開發(fā)過(guò)程中 片段2是在片段1的基礎(chǔ)上慣性思維去實(shí)現(xiàn)的,而實(shí)際運(yùn)行卻會(huì)發(fā)現(xiàn) 結(jié)果并不是想要的那樣,這個(gè)動(dòng)手能力強(qiáng)的人可以實(shí)際調(diào)試一下就會(huì)很快明白里面的所以然。這里簡(jiǎn)單說(shuō)一下:

做過(guò)hibernate的人都知道 用hibernate調(diào)用sql查詢出的匯總語(yǔ)句,返回的結(jié)果是封裝成Object的保存到List中的,而代碼1和代碼2相比較,差別只是在字段的多少上,如果是2個(gè)以上的字段 結(jié)果是封裝成Object[]數(shù)組的,這個(gè)無(wú)可爭(zhēng)議,但是如果是一個(gè)字段的話List里保存的是Object,而不是Object[]數(shù)組。

這樣就可以推論這里hibernate內(nèi)部是做了處理的。

代碼2循環(huán)中應(yīng)該是:

  1. Object tempObj=(Object)sumList.get(i);  
  2. sum1=tempObj==null?"0.0":tempObj.toString(); 

原文鏈接:http://moonights.iteye.com/blog/1272980

【編輯推薦】

  1. 高手真經(jīng) 13條Java核心技術(shù)
  2. 去故就新 Java線程新同步機(jī)制
  3. Java的ClassLoader機(jī)制解析
  4. 精解Java中代理模式的實(shí)現(xiàn)
  5. Java常量池詳解之抓狂的面試題
責(zé)任編輯:林師授 來(lái)源: moonights的博客
相關(guān)推薦

2019-09-19 14:28:14

程序員分布式系統(tǒng)

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2014-01-06 09:33:32

程序員管理

2020-10-05 21:13:37

程序員技能開發(fā)者

2015-06-16 10:31:36

程序員

2020-07-10 09:55:15

程序員技能開發(fā)者

2015-06-08 10:48:39

程序員程序員自白

2011-02-14 13:05:17

PythonWeb

2021-06-04 10:15:17

JavaSQL編程語(yǔ)言

2021-07-01 07:43:41

項(xiàng)目程序員代碼

2009-02-12 15:07:57

程序員創(chuàng)業(yè)經(jīng)驗(yàn)

2019-04-22 10:25:52

程序員技術(shù)職場(chǎng)

2012-04-12 14:49:31

程序員

2019-11-07 15:30:00

EmacsIDE

2015-08-24 10:07:13

程序員bug

2020-01-06 09:53:29

程序員

2015-05-13 14:06:03

程序員糟糕的程序員

2010-10-18 11:39:41

程序員

2025-01-13 06:20:00

2012-01-09 17:45:48

Java程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 青青久久| 午夜精品一区二区三区在线视频 | 欧美精品福利视频 | 中文字幕在线观看第一页 | 精品av久久久久电影 | 欧美xxxx黑人又粗又长 | eeuss国产一区二区三区四区 | 日韩精品人成在线播放 | www.久久久久久久久久久 | 99久久精品免费看国产免费软件 | 国产欧美日韩久久久 | 亚洲视频一区 | av大片| 亚洲福利在线视频 | 精品在线观看一区二区 | 毛片.com | 午夜视频免费 | 999国产精品视频免费 | 久久国产美女视频 | 日韩免费一区二区 | 免费成人在线网站 | 日本免费一区二区三区四区 | 在线看免费 | 一级大片 | 久久国产精品视频 | 亚洲午夜电影 | 欧美性一区二区三区 | 亚洲免费一区 | 免费久久网站 | 三级在线视频 | 亚洲视频www | 欧美久久久久久久久中文字幕 | 91久久久久久久久久久久久 | av中文字幕在线观看 | 一区二区三区不卡视频 | 中文字幕精品视频在线观看 | 欧美精品一区二区在线观看 | 麻豆视频在线免费看 | www.日本国产| 黄网免费看 | 色婷婷综合久久久久中文一区二区 |