1. 程式人生 > >ArrayList add()方法覆蓋資料解決辦法

ArrayList add()方法覆蓋資料解決辦法

在迴圈中使用list.add(vo)可能最後只有一個vo,之前的都被覆蓋了,原因是vo的物件建立了在迴圈外面,只有一個物件,所以每次都會被覆蓋

	List<Retdata> li = new ArrayList<Retdata>();
    		Retdata data=new Retdata();
    		
    		for (int i = 0; i < retList.size(); i++) {
    			
        		data.setMobile((String) jo11.get("mobile"));
        		data.setSendcontent((String) jo11.get("sendcontent"));
        		data.setSendDate((String) jo11.get("SendDate"));
        		li.add(data);
        		
    		}

0
{SendDate=2017/6/7, sendcontent=111, mobile=123456789}
1
{SendDate=2017/6/8, sendcontent=22, mobile=22222222}
2
{SendDate=2017/6/7, sendcontent=33, mobile=3333333333}
0
[email protected]
1
[email protected]
2
[email protected]

可以看到上面list中的物件都是同一個記憶體地址。

解決方法:將物件在迴圈中建立

    		List<Retdata> li = new ArrayList<Retdata>();
    	
    		for (int i = 0; i < retList.size(); i++) {
    			Retdata data=new Retdata();
    			
        		data.setMobile((String) jo11.get("mobile"));
        		data.setSendcontent((String) jo11.get("sendcontent"));
        		data.setSendDate((String) jo11.get("SendDate"));
        		li.add(data);
        		
    		}


相關推薦

ArrayList add()方法覆蓋資料解決辦法

在迴圈中使用list.add(vo)可能最後只有一個vo,之前的都被覆蓋了,原因是vo的物件建立了在迴圈外面,只有一個物件,所以每次都會被覆蓋 List<Retdata> li = ne

ArrayList add()方法後前面的資料覆蓋的問題

ArrayList<T> myList = new ArraList<T>(); for(.....) { T st = new T(); for

ArrayList add方法會導致資料覆蓋

ArrayList<HashMap<String, Object>> listData = new ArrayList<HashMap<String, Object>>(); int number = 0;

bp標準方法寫不進資料解決辦法

業務場景:在建立BP的時候,我們會使用CALL METHOD vmd_ei_api=>maintain_bapi來建立BP,但是有的時候專案上會碰到有些欄位is_master_data的接口裡沒有或者有並且賦值了但是卻寫不進去的情況,在這專案上剛好碰到了這2種情況,這裡

Hibernate使用原生SQL多表查詢時欄位名相同導致查詢資料覆蓋問題解決辦法

系統測試環境: MySQL 5.0 Hibernate 3.3 由於使用了hibernate,雖然使用原生SQL繞過了hibernate自己的封裝,但是還是有些影響,比如欄位別名問題;相同的欄位名經過hibernate查詢會出現前一列覆蓋後一列的情況,這時可以用 方法來

ArrayList.add() 方法吉林快-三平臺出租源碼解析

結束 === pty list集合 測試 中轉 extends getc .class 吉林快-三平臺出租Q1446595067解析源碼的方法>>> list.add("hello"); 該方法涉及到的方法被我復制到了一個類中,至於解

for迴圈呼叫刪除方法報錯解決辦法

1.每次刪除一個元素,索引往前移,即i-1.      List<String> list = new ArrayList<String>();      list.add("111");  &nbs

Android開發——資料庫框架Suger遇到的大坑(依據列名查詢不到資料解決辦法

Android開發——資料庫框架Suger遇到的大坑(依據列名查詢不到資料解決辦法) JavaBean命名出現大寫,資料無法正常儲存(用的是Suger第二種操作方式,第一種沒有測試) 習慣中對Bean中變數的命名會出現大寫字母,但使用Suger操作這樣的資料會出現問題,比如我這樣命名

Android 個別手機導航鍵覆蓋佈局解決辦法

個別手機,例如華為,谷歌親兒子等等,都是有導航鍵,這個時候,會覆蓋佈局。 解決方法 1、如果沒有使用沉浸模式,可以直接在根佈局上使用 android:fitsSystemWindows="tru

Junit測試Controller(MockMVC使用),傳輸@RequestBody資料解決辦法

一、單元測試的目的   簡單來說就是在我們增加或者改動一些程式碼以後對所有邏輯的一個檢測,尤其是在我們後期修改後(不論是增加新功能,修改bug),都可以做到重新測試的工作。以減少我們在釋出的時候出現更過甚至是出現之前解決了的問題再次重現。   這裡主要是使用Moc

關於ExtJS GridPanel幻影資料解決辦法

這個問題是很早以前發現的,最近偶然再次遇見了,把以前整理的筆記分享一下 var records = store.getUpdatedRecords();// 獲取修改的行的資料,無法獲取幻影資料 var records =

關於TSlint的object-literal-sort-keys屬性無法覆蓋解決辦法

先上錯誤配置{ "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"], "linterOptions": { "exclude": [ "config/**/

fiddler無法抓取到手機資料解決辦法

fiddler是一款非常強大的手機抓包工具,很多人會用他抓取手機資料包,新人難免遇到的問題就是,無法抓取到手機資料,下面介紹下怎麼處理這個問題,如有不足歡迎指正.我自己建立的QQ群511057741,軟體測試交流群,有問題大家可以溝通交流首先下載fiddler,如果對英文不熟

Date類獲取日期的方法失效的解決辦法

Java 學習了一段時間後,就習慣了在例項化一個類後,喜歡呼叫該物件的get或者set方法.      在一次學習中接觸了Date類,這時發現 get和set方法有時不是那麼好用的. 下面重演我學習過程中出現的錯誤,及解決的辦法: 在學習Date類時,習慣性的用get方法呼

Java一次性查詢幾十萬 幾百萬資料解決辦法

Java查詢一次性查詢幾十萬,幾百萬資料解決辦法。 很早的時候寫工具用的一個辦法,當時是用來把百萬資料打包成rar檔案。 所以用了個笨辦法。 希望高手指導一下,有什麼好方法沒有啊。 以下是查詢資料庫。按批次查詢 publicstaticvoid getMonthDataList() {

安裝AndroidStudio時出現unable to access android sdk add-on list的解決辦法

上一篇好像因為寫了S和諧S和諧R被和諧了,呵呵,csdn垃圾玩意。 由於csdn的限制我就不再放圖,文字談方法。 0x01 本方法有一個前提條件,你需要有一個能用的梯子,我是用的是S和諧S和諧R,不知道是什麼的自行google。 0x02 將該S和諧S和諧R設定為全域性

String的trim()方法無效的解決辦法

後臺返回的資料中,有空格,用trim()方法無效,後來發現,表面上看到的空格,unicode為12288,是全形空格,所以要先替換掉再trim(), str = str.replace((char

AFNetworking升級至3.1.0後,原有的方法報錯解決辦法

為了配合蘋果官方的ipv6的事,有很多開發人員都把AFNetworking升級了(網路請求自己公司做封裝的除外),但是升級後報錯一堆。怎麼辦?我的笨辦法是:一個一個修改。 1.首先:沒有了AFHTTPRequestOperationManager這個類,被AF

ArrayList.add() 方法原始碼解析

        List<String> list=new ArrayList<String>();       解析原始碼的方法>>>  list.add("hello"); 該方法涉及到的方法被我複製到了一個類中,至於解釋,全在

angularjs http 請求 php 無資料解決辦法

序 雖然angularjs自帶http請求,但是當它的後臺為php時,我們往往拿不到想要的資料(相同的請求用jQuery能正確返回結果)。其實這是因為angularjs預設的請求方式不適合php接收而已。因此我們需要修改或者使用其他的請求方式來實現與後臺的互動