2013-08-28 67 views
1

我已將從數據庫檢索到的值保存到數組列表中。 我已經使用一個類將數據保存到數組列表中,如下所示。從數組列表中檢索多個值

ArrayList<NewSms> details = new ArrayList<NewSms>(); 
    try{ 
     Statement query = conn.createStatement(); 
     ResultSet result = query.executeQuery("Select `senderAddress,message,linkid from sdp_smsincoming where status=0 AND smsServiceActivationNumber =1234 ");` 

     while(result.next()){ 
      String address = result.getString("senderAddress"); 
      String message = result.getString("message"); 
      String linkid = result.getString("linkid"); 

      NewSms smsdetails = new NewSms(); 
      smsdetails.set_address(address); 
      smsdetails.set_message(message); 
      smsdetails.set_linkid(linkid); 
      details.add(smsdetails);; 
     } 
    } 

但是我現在要檢索的值每行獨立,從program.How我可以做到這一點其他類?通過單獨我的意思是在ArrayList中得到每行的地址,郵件的linkID。

+0

如何識別一行?您可以使用HashMap 並通過某個標識符從地圖獲取。 – BobTheBuilder

+0

現在你有細節arrayList ..只需從函數返回它並使用迭代器 – Konza

回答

5

但是我現在想要從程序中的另一個類中逐行檢索值。如何才能做到這一點?

您只需訪問列表中的每個NewSms即可。要通過索引來訪問一個,你可以使用:

NewSms sms = details.get(2); // Or whatever 
// Now access the properties of sms 

或者反過來訪問它們的每一個,使用循環增強:

for (NewSms sms : details) { 
    // Now access the properties of sms 
} 

請注意,以符合Java的命名約定,你NewSms班級應該有方法,如getAddress,setAddress - 不是set_address

另請注意,您需要關閉結果集/語句/連接 - 如果您使用的是Java 7,則可以使用try-with-resources語句;否則你應該使用finally塊。

編輯:如果你的問題實際上只是返回列表,這很簡單:

public List<NewSms> loadSmsDetails() { 
    // Code as before... 

    return details; 
} 

然後只是把它從您的其他類:

// Where repository is a reference to an instance of the class containing the above method 
List<NewSms> allDetails = repository.loadSmsDetails(); 
+0

感謝您的評論喬恩,但我要檢索不同類中的值,細節不會在這裏工作。更像是一個方法返回數組列表above.so當我調用另一個類的方法時,我如何檢索arraylist中的值?使用細節在這裏無法工作。 –

+0

@mungaihkamau:好的,你需要讓這個方法返回'ArrayList'。如果你的問題實際上是關於你如何從一種方法返回列表,那麼如果你這麼說的話,這將是有幫助的。將編輯我的答案。 –

0
for(NewSms smsdetails:details){ 
String address = smsdetails.get_address(); 
String message = smsdetails.get_message(); 
String linkId = smsdetails.get_linkid(); 
} 
0

但是我現在想從 程序中的另一個類別

您需要將arraylist傳遞給另一個類並在其中迭代以獲取各個元素。這個想法是使用一個共同的araylist - 將結果集中的值存儲在另一個類中並遍歷它們。