java - 如何在 Java 中有效地从多个字符串创建一个字符串

标签 java string

在 Java 代码中,我有 11 个不同的字符串,其中一些(最多 9 个)可以为空。字符串是对象的一部分。如果它们都不为空,我将创建一个这样的字符串:

string1 + "," + string2 + "," + string3 + "," + string4 + "," + string5 + "," + string6 + "(" + string7 + ")" + string8 + string9 + "+" + string10 + string11

如果它们都不为空,则可以。但其中一些可以为空。如果我检查它们中的每一个是否为空,代码会变得非常缓慢和冗长。如何高效快速地生成这样的字符串?谢谢。

最佳答案

public static void main(String[] args) {
    String string1 = "test1";
    String string2 = "test2";
    String string3 = "test3";
    String string4 = null;
    String string5 = "test5";

    StringBuilder stringBuilder = new StringBuilder();

    List<String> valueList = new ArrayList<>();
    valueList.add(string1);
    valueList.add(string2);
    valueList.add(string3);
    valueList.add(string4);
    valueList.add(string5);
    // etc.

    for (String value : valueList) {
        if (value != null) {
            stringBuilder.append(value);
        }
        else {
            value = ",";
            stringBuilder.append(value);
        }
    }
    System.out.println(stringBuilder);
}

输出:

test1test2test3,test5

关于java - 如何在 Java 中有效地从多个字符串创建一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368001/

相关文章:

string - 是否有一个 Lua 字符串 replace() 函数可以比 gsub() 更快地替换?

java - 不允许使用波形符/控制台键的正则表达式

java - Android WebView 自定义 header

java - 删除 html 标签

C - 带有 char * 且长度大于源字符串长度的 memcpy

c - 用C中的任何空格分隔字符串

ios - 使用 Swift 解析文本速度极慢

java - 为什么Collectors类中toMap方法的Java mapFactory参数需要指定类型?

java - 使用超时与 Socket.connect 建立连接

java - 将 .war 文件部署到 tomcat 8 在 IDE 中工作正常但是当我部署到我的 VPS 时我丢失了所有的 JS 和 CSS