Java 如何从[0到9]访问for循环外部的字符串列表?

Java 如何从[0到9]访问for循环外部的字符串列表?,java,string,list,selenium-chromedriver,Java,String,List,Selenium Chromedriver,我正在尝试编写一个代码,允许我访问字符串msgbody并将其放入电子邮件中。但是,使用以下代码,只有最后一个字符串显示在for循环之外。我搜索了很多次寻找答案,对Java有点陌生 List<String> urls = new ArrayList<String>(); String msgbody = ""; for (int i = 0; i < urls.size(); i++) { //urls.get(i

我正在尝试编写一个代码,允许我访问字符串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)
我可以让它在没有for循环的情况下工作,但它太草率了。

您可以更改msgbody=url.geti;到msgbody+=url.geti;否则,您将在每次迭代中完全替换msgbody。另外,我更喜欢a、a和a。像


唯一的细微变化是您正在替换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); 

好啊感谢您的回复,我将阅读更多关于StringBuilder的信息并尝试此方法。我会让你知道我是否能让它工作。我需要从URL.get0到URL.Get9的URL,从哪里URL有值?它刚刚初始化?此代码中未指定值。两个答案都是正确的。他提供了另一种选择,所以我给了他支票。谢谢你的回复。
List<String> urls = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for (String url : urls) {
    sb.append(urls.get(url));
}
System.out.println(sb);
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);