运行此代码:
for(int i = 0 ; i <= 5 ; i++) {
String id = driver.findElement(By.xpath("//[@id='selectpatientid_" + i + "']")).getText();
System.out.println(id);
}
输出是字符串集:
vil00043
vil00032
vil00054
vil00032
如何将所有这些字符串合并并存储到单个字符串中?
答案 0 :(得分:0)
第一种方法是使用String.concat(),如下所示,
String str="";
String id ="";
for(int i=0;i<=5;i++){
id = driver.findElement(By.xpath("//[@id='selectpatientid_"+i+"']")).getText();
str.concat(id);
}
System.out.println(str);
但上述方法会导致多个String创建。 我建议去StringBuilder,
StringBuilder finalStringb =new StringBuilder();
String id ="";
for(int i=0;i<=5;i++){
id = driver.findElement(By.xpath("//[@id='selectpatientid_"+i+"']")).getText();
finalStringb.append(id);
}
System.out.println(finalStringb);
注意 - `String类的concat()方法将字符串作为参数,它附加指定的字符串,并返回一个新的String。 实际上,这个concat()方法为两个字符串创建一个新的char数组,然后将两个字符串放入新数组中,然后再次使用该数组创建一个新的String。它会降低性能。 StringBuilder工作效率更高。简而言之,如果你在循环中使用字符串连接,那么你可以使用StringBuilder(而不是StringBuffer)而不是String,因为它更快,消耗更少的内存。