我想要将字符串数组转换为字符串的Java代码。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果您只想要数组的“调试样式”转储:
String str = Arrays.toString(arr); 或者,为了获得更多控制权(在Java 8之前):
StringBuilder builder = new StringBuilder(); for(String s : arr) { builder.append(s); } String str = builder.toString(); (Java 8及更高版本):
String str = String.join(",", arr); 如果您是从Android角度出发:
String str = TextUtils.join(",", arr); 您可以根据需要在字符串之间使用哪些字符(如有)来修改以上内容。
您可能会看到与Java 8之前的代码几乎相同的代码,但是使用StringBuffer- StringBuilder是一个较新的类,该类不是线程安全的,但是由于不需要不必要的同步,因此在单个线程中具有更好的性能。简而言之,您最好StringBuilder在99%的情况下使用-从功能上来说,两者是相同的。
请勿使用字符串,而只需使用+ =附加字符串即可,如此处显示的一些答案所示。这会使GC穿过屋顶,因为您要创建和丢弃的数组对象数与字符串对象一样多。对于小型阵列,您可能不会真正注意到差异,但是对于大型阵列,速度可能会慢几个数量级。
问题来源于stack overflow