Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将分号附加到ArrayList中的每个元素<;字符串>;_Java_List_Selenium_Arraylist_Selenium Webdriver - Fatal编程技术网

Java 如何将分号附加到ArrayList中的每个元素<;字符串>;

Java 如何将分号附加到ArrayList中的每个元素<;字符串>;,java,list,selenium,arraylist,selenium-webdriver,Java,List,Selenium,Arraylist,Selenium Webdriver,我目前正试图在ArrayList中每个元素的末尾追加一个分号 守则: ArrayList<String> emailAddresses = new ArrayList<String>(); public void getEmailAddresses() throws InterruptedException { driver.findElement(By.className("userlink-0")).click(); String emailAddr

我目前正试图在ArrayList中每个元素的末尾追加一个分号

守则:

ArrayList<String> emailAddresses = new ArrayList<String>();

public void getEmailAddresses() throws InterruptedException {
    driver.findElement(By.className("userlink-0")).click();
    String emailAddress = driver.findElement(By.id("email")).getText();
    emailAddresses.add(emailAddress);
    hs.addAll(emailAddresses);
    emailAddresses.clear();
    emailAddresses.addAll(hs);

}
ArrayList emailAddresses=新的ArrayList();
public void getEmailAddresses()引发InterruptedException{
driver.findElement(By.className(“userlink-0”))。单击();
字符串emailAddress=driver.findElement(By.id(“email”)).getText();
emailAddress.add(emailAddress);
hs.addAll(电子邮件地址);
emailAddresses.clear();
emailAddresses.addAll(hs);
}
最终,我将获取这个电子邮件地址列表,并将其输出到收件人字段,以便使用Java发送电子邮件。因此,我试图在元素中添加分号,以便分隔电子邮件地址


感谢作为原始解决方案,您可以使用:

for (int i = 0; i < emailAddresses.size(); i++) {
    emailAddresses.set(i, emailAddresses.get(i).concat(";"));
}
for(int i=0;i
作为基本解决方案,您可以使用:

for (int i = 0; i < emailAddresses.size(); i++) {
    emailAddresses.set(i, emailAddresses.get(i).concat(";"));
}
for(int i=0;i
在我看来,删除带有分号的逗号并不是一个完全可靠的解决方案,将来不会被破坏。因为这需要在列表上执行syso,然后使用regex替换逗号和方括号。相反,我将使用StringBuilder,遍历列表并附加分号

StringBuilder str = new StringBuilder();
for(int i=0; i< emailAddresses.size(); i++ )
{
    str.append(emailAddresses.get(i));
    //to skip last emailAddress 
    if(i+1 == emailAddresses.size())
        continue;
    str.append(";");
}
System.out.println(str.toString());
StringBuilder str=new StringBuilder();
对于(int i=0;i
在我看来,删除带有分号的逗号并不是一个完全可靠的解决方案,将来不会被破坏。因为这需要在列表上执行syso,然后使用regex替换逗号和方括号。相反,我将使用StringBuilder,遍历列表并附加分号

StringBuilder str = new StringBuilder();
for(int i=0; i< emailAddresses.size(); i++ )
{
    str.append(emailAddresses.get(i));
    //to skip last emailAddress 
    if(i+1 == emailAddresses.size())
        continue;
    str.append(";");
}
System.out.println(str.toString());
StringBuilder str=new StringBuilder();
对于(int i=0;i
假设您使用Java 8,您可以使用
流API
和as收集器来实现这一点,该收集器允许按如下顺序连接由指定分隔符分隔的输入元素:


假设您使用的是Java 8,那么您可以使用
流API
和as收集器来实现这一点,as收集器允许按如下顺序连接由指定分隔符分隔的输入元素:


在将每个元素添加到ArrayList时,可以将它们添加到分号。但是假设您想稍后进行一些处理,那么现在您必须处理您添加的额外半酒精

因此,更好的解决方案可能是,只需按原样添加所有元素,并在收件人字段中需要它们的地方打印以下行:

System.out.println(emailAddresses .toString().replace("[", "").replace("]", "").replace(",", ";"));

如果有任何问题,请在注释部分询问。

您可以在将每个元素添加到ArrayList的同时将其添加到分号。但是假设您想稍后进行一些处理,那么现在您必须处理您添加的额外半酒精

因此,更好的解决方案可能是,只需按原样添加所有元素,并在收件人字段中需要它们的地方打印以下行:

System.out.println(emailAddresses .toString().replace("[", "").replace("]", "").replace(",", ";"));
如果有任何问题,请在评论部分提问。

你说的“删除列表中的逗号是否是一种好做法”是什么意思?你说的是哪一个逗号?这是一个很好的例子!不要在元素中添加分号,而是在生成“final”字符串时添加分号。尼古拉斯·菲洛托的回答完美地指出了问题所在。你说“删除列表中的逗号是一种好的做法”是什么意思?你说的是哪一个逗号?这是一个很好的例子!不要在元素中添加分号,而是在生成“final”字符串时添加分号。参见Nicolas Filotto的答案,该答案完美地确定了问题所在。