【发布时间】:2015-02-03 15:58:23
【问题描述】:
我正在尝试创建数组 {1, 2, 3, 4, 5, 6, 7} 的字符串,但运行它时似乎无法得到正确的答案。
int [] arr = {1, 2, 3, 4, 5, 6, 7};
String s = " ";
for(int i = 0; i < arr.length; i++){
s = (arr[i] + ", ");
}
System.out.println(s);
我得到的答案是 7,而我实际上是想得到 1、2、3、4、5、6、7
有人可以向我解释为什么下面的代码给了我正确的答案,但是当我使用字符串时却没有,以及我应该如何更正上面的代码。
int [] arr = {1, 2, 3, 4, 5, 6, 7};
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + ", ");
}
【问题讨论】:
-
Arrays.toString()怎么样? -
只需将
=替换为+= -
除了代码的技术调试之外,当您在循环中构造这样的字符串时,请改用
StringBuilder。 JavaString对象是不可变的,创建和丢弃大量中间副本的成本很高;StringBuilder可让您添加所需的所有字符,然后将其转换为String。 -
根据关闭原因,投票关闭是一个错字
-
@Everv0id 也可以,谢谢,但由于我是编程新手,我试图远离内置代码