java - 将数组中的多个字符串打印为单个字符串

标签 java arrays for-loop

我想使用 for 循环从数组中打印多个字符串,它将打印完整的名字和姓氏,但仅打印一次。这是我的方法。

这是我得到的输出:

“名字 第二名,”

应该打印多个全名。

最佳答案

这里的问题是,在每次迭代中,您都会为列表创建一个新的内存位置,因此每次循环执行时,的值>列表覆盖。您可以通过附加到列表来解决此问题,而不是在每次迭代中更改列表的值。

附注,由于 Java 中的字符串是不可变的,因此对于 for 循环的每次迭代,都会为 list 分配新的内存。这不是很有效。您应该使用可变的 StringBuilder。它看起来像这样。

StringBuilder str = new StringBuilder(list);

然后你可以追加到 str :

str.append("any string");

这相当于str +“任意字符串”

使用 StringBuilder,内存将只分配给 str 一次,所有更改都会到位,效率更高。最后,您想要返回一个 String 对象,以便可以调用 StringBuilder 对象上的方法 toString() 将其转换回 String。

所以,最终它看起来像这样:

public String getTANames() {
StringBuilder str = new StringBuilder("");
for(int i = 0; i < TAList.length; i++){
    str.append(TAList[i].first + " " + TAList[i].second + ", ");         
}
return str.toString();

}

关于java - 将数组中的多个字符串打印为单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307192/

相关文章:

Java分割xml文件

java - Spring从属性文件中读取@Bean类的值

java - 我如何改变这个贪心算法来预测最全面的分数?

python - 为什么会出现 TypeError : 'int' object is not subscriptable using for loop and not with list-comprehension in python

c++ - 用于将文件中的字符串读入 3D 数组的 For 循环

java - 在从列表中拉出时在 java 中拆分字符串?

java - 如何将用户输入放入for循环并使程序循环直到用户输入退出

mysql - 在 MySQL 中使用 JSON 数组

c++ - 将随机数插入具有排序顺序的数组中 C++

actionscript-3 - 如何遍历二维数组中的一圈值?