![](/img/trans.png)
[英]How can I set a list of strings that were generated from a loop, into an array?
[英]How can I access the Strings list from [0 to 9] outside for loop?
我试图编写一个代码,使我可以访问String msgbody并将其放置在电子邮件中。 但是,使用以下代码,最终字符串仅显示在for循环之外。 我搜索了很多次答案,并且对Java有点陌生。
List<String> urls = new ArrayList<String>();
String msgbody = "";
for (int i = 0; i < urls.size(); i++) {
//urls.get(i); unecessary
// String msgbody0; - Used to attempt msgbody0 = url.get(i); then msgbody += msgbody0; but only prints first url
int sum = i + 1;
for (j = 1; j < 2 ; j++)
{
msgbody = urls.get(i);
//urls.add(msgbody); not needed
System.out.print("("+ sum +")" +"");
System.out.println(msgbody);
}
if(i==9){
break;
}
} // Inside the for loop everything prints properly.
System.out.println(msgbody); // How can i replicate it here?(Outside for loop)
编辑:这有效:(最初-以下仅重复显示了第一个链接:)我从Java更改为Java EE,它有效吗? 我想念什么?
msgbody += urls.get(i);
我可以使它在没有for循环的情况下工作,但它马虎。
您可以更改msgbody = urls.get(i);
到msgbody += urls.get(i);
(否则,您将在每次迭代中完全替换msgbody
)。 另外,我更喜欢StringBuilder
, 菱形运算符<>
和for-each
循环 。 喜欢,
List<String> urls = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for (String url : urls) {
sb.append(urls.get(url));
}
System.out.println(sb);
仅有的微小变化是您要替换msgbody而不是将其串联。
List<String> urls = new ArrayList<String>();
String msgbody = "";
for (int i = 0; i < urls.size(); i++) {
//urls.get(i); unecessary
// String msgbody0; - Used to attempt msgbody0 = url.get(i); then msgbody += msgbody0; but only prints first url
int sum = i + 1;
for (j = 1; j < 2 ; j++)
{
msgbody += urls.get(i);
urls.add(msgbody);
System.out.print("("+ sum +")" +"");
System.out.println(msgbody);
}
if(i==9){
break;
}
} // Inside the for loop everything prints properly.
System.out.println(msgbody);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.