[英]Retrieving multiple values from an arraylist
我已將從Java中的數據庫檢索到的值保存到arraylist中。 我已經使用一個類將數據保存到數組列表,如下所示。
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);;
}
}
但是我現在想從程序中的另一個類中每行分別獲取值。我該怎么做呢?我分別是指獲取arraylist中每行的地址,消息和linkid。
但是我現在想從程序的另一個類中每行分別檢索值。我該怎么做?
您只需訪問列表中的每個NewSms
。 要按索引訪問一個,可以使用:
NewSms sms = details.get(2); // Or whatever
// Now access the properties of sms
或者依次訪問它們中的每一個,請使用增強的for循環:
for (NewSms sms : details) {
// Now access the properties of sms
}
請注意,為了遵守Java命名約定,您的NewSms
類應具有諸如getAddress
, setAddress
-not 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();
for(NewSms smsdetails:details){
String address = smsdetails.get_address();
String message = smsdetails.get_message();
String linkId = smsdetails.get_linkid();
}
但是我現在想從程序的另一個類中每行分別獲取值
您需要將arraylist傳遞給另一個類,並在那里進行迭代以獲得單個元素。 這個想法是使用一個通用的列表-存儲結果集中的值,並在另一個類中迭代它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.