我已将从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);;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我现在想要从程序中的另一个类中每行单独检索值.我怎么能这样做?我个人意味着在arraylist中获取每行的地址,消息和linkid.
但是我现在想要从程序中的另一个类每行单独检索值.我怎么能这样做?
您只需访问NewSms列表中的每个.要按索引访问,您可以使用:
NewSms sms = details.get(2); // Or whatever
// Now access the properties of sms
Run Code Online (Sandbox Code Playgroud)
或者依次访问每个,使用增强的for循环:
for (NewSms sms : details) {
// Now access the properties of sms
}
Run Code Online (Sandbox Code Playgroud)
请注意,为了符合Java命名约定,您的NewSms类应该具有诸如的方法getAddress,setAddress而不是set_address.
另请注意,您需要关闭结果集/语句/连接 - 如果您使用的是Java 7,则可以使用try-with-resources语句; 否则你应该使用finally块.
编辑:如果您的问题实际上只是返回列表,这很容易:
public List<NewSms> loadSmsDetails() {
// Code as before...
return details;
}
Run Code Online (Sandbox Code Playgroud)
然后从其他类中调用它:
// Where repository is a reference to an instance of the class containing the above method
List<NewSms> allDetails = repository.loadSmsDetails();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1860 次 |
| 最近记录: |