联合两个字符串的 Java String 实用程序/方法

标签 java string

是否有任何辅助方法或实用程序实际上为我提供了两个字符串的并集。 例如,如果我有如下两个字符串:

String s1 = "Isabella,tom,hardy";
String s2 = "Isabella,tom,hardy,victor,smith";

我正在寻找一种解决方案,它将以上两个字符串作为输入并输出如下结果:

General syntax:  s1.{method/utility}(s2);
output : Isabella,tom,hardy,victor,smith

最佳答案

首先,JDK 没有提供任何方法或实用程序来如此直接地解决问题。

其次,仅仅为了这个简单的实用程序导入第 3 方 jar 或依赖项并不是一个明智的选择。

在这种情况下,编写您自己的目的方法始终是明智的选择。

public static String mergeString(String s1, String s2) {
        //check for null as the method doesnt fall in NPE
        if(s1 == null || s2 == null) {
            return null;
        }

        //split the given String to some list
        List<String> s1List = Arrays.asList(s1.split(","));
        List<String> s2List = Arrays.asList(s2.split(","));

        //get a Set and add the list items to it. LinkedHashSet
        //is used to maintain the given order.
        Set<String> stringSet = new LinkedHashSet<>(s1List);
        stringSet.addAll(s2List);

        //Then join them using java 8 provided Utility
        return String.join(",", stringSet);
    }

注意:正如您在评论中提到的,您的项目中可能只需要一次这种类型的实用程序。但是尽管如此,这种逻辑应该从您的业务方法中分离出来。这将使您的代码更加简洁和可读。

关于联合两个字符串的 Java String 实用程序/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44558945/

相关文章:

java - 如何以编程方式调用 maven-resources-plugin

java - Spring MVC 中的开发模式

string - 当指标缓冲区不再给出值时,如何保持字符串值相同?

c# - 将一个字符串拆分为 2 个字符串

java - Solr : How to Index a field in document as json field?

java - Jmap堆转储,它包括年轻一代吗?

java - 如何停止 RecyclerView 适配器内的快照监听器?

java - 将逗号(带有空格)分隔的字符串转换为字符串本身匹配值下的列

python - 列表理解多行字符串到二维数组

c - 字符串如何在 C 中工作?