java - 数字数据形式中与 += 等价的字符串是什么?

标签 java arrays string for-loop logic

我有一个代码:

String str = "hi";
String[] strArray = new String[5];
for(int c = 0;c < 5;c++){
    str += strArray[c];
}

虽然有 5 个字符串我可以一根一根地做?但如果有 50 个,甚至 500 个呢?这种类型的 += 给了我一个错误,那么如何正确地将数组中的所有字符串相加呢?

最佳答案

不要在 String 对象上使用 +=,而是使用 StringBuilder 。原因是在 JAVA 附加字符串每次都会创建不可变的 String 对象,这会导致内存爆炸。另一方面,StringBuilder 是可变对象,您可以将其追加到您的核心内容中,然后返回一个 String 对象。

    StringBuilder stringBuilder = new StringBuilder();
    String[] strArray = new String[5]; //or some big number
    for(int c = 0;c < 5;c++)
    {
        stringBuilder.append(strArray[c]);
    }
    System.out.println(stringBuilder.toString());

关于java - 数字数据形式中与 += 等价的字符串是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22586833/

相关文章:

java - 部署到 Jboss 7.1.0 EAP 时未指定持久性单元名称错误

java - 什么是 NullPointerException,我该如何解决?

javascript - 在不止一次添加允许的文件总数时,在更改事件监听器中对文件数组进行切片 - JavaScript

python - 将长数字格式化为字符串

java - 发送无效的xml时如何修复websphere上的java堆空间

java - SSH 到 Cisco Nexus 交换机

c - 初始化、构造结构并将其转换为字节数组会导致未对齐

javascript:是否可以自动将对象推送到空数组(创建时)?

c++ - 如何将 CString 传递给格式字符串 %s?

php - 提取单词前后的部分字符串