java将数组中的元素连接到字符串
我有点困惑。我到处都找不到答案;(
我有一个字符串数组:
String[] arr = ["1", "2", "3"];
然后我通过以下方式将其转换为字符串:
String str = Arrays.toString(arr);
System.out.println(str);
我希望得到字符串"123"
,但是我得到了字符串"[1,2,3]"
我怎么能用java来做呢?我正在使用EclipseIDE
你可以在下面搜索框中键入要查询的问题!
我有点困惑。我到处都找不到答案;(
我有一个字符串数组:
String[] arr = ["1", "2", "3"];
然后我通过以下方式将其转换为字符串:
String str = Arrays.toString(arr);
System.out.println(str);
我希望得到字符串"123"
,但是我得到了字符串"[1,2,3]"
我怎么能用java来做呢?我正在使用EclipseIDE
# 1 楼答案
只需一行,就可以用java 8种方式完成:
String.join("", arr);
# 2 楼答案
Sample code
这就是为什么这是使用字符串连接的更好解决方案:当连接两个字符串时,将创建一个新的字符串对象,并执行逐字符复制
这意味着代码复杂度将是数组大小的平方的顺序
(
1+2+3+ ... n
是每次迭代复制的字符数)强> StringBuilder在这种情况下只执行一次“复制到字符串”,将复杂性降低到O(n)
# 3 楼答案
简单回答:
Arrays.toString(arr);
# 4 楼答案
使用数组。toString()函数。它使您的代码简短易读。它在内部使用字符串生成器,因此,它也很高效。为了消除多余的字符,您可以选择使用字符串消除它们。replace()函数,不可否认,它再次降低了可读性
这与Tris Nefzger的答案类似,但没有长时间的子字符串构造来摆脱方括号
正则表达式的解释:“|”是指“、[”和“]”中的任何一种。 “\\”告诉Java字符串,我们指的不是某个特殊字符(如新行“\n”或制表符“\t”),而是一个真正的反斜杠“\”。 因此,Regex解释器读取“\\[”,而不是“\\[”,这告诉它我们指的是一个文本方括号,不想将其用作Regex语言的一部分(例如,“[^3]*”表示任意数量的字符,但它们都不应该是“3”)
# 5 楼答案
输出为[1,2,3],您可以将其存储到字符串中。然后打印它,这样就可以得到输出[1,2,3]
如果要获得输出123,请尝试以下操作:
输出:
# 6 楼答案
数组。toString:(来自API,至少对于它的
Object[]
版本)这意味着它在开始处插入
[
,在结束处插入]
,在元素之间插入,
如果您希望它不包含这些字符:(StringBuilder比下面的要快,但它不能是少量的代码)
旁注:
String[] arr[3]= [1,2,3]
不会编译大概您想要:
String[] arr = {"1", "2", "3"};