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