首页 > 解决方案 > 检查 Null 并将两个字符串与 Java 中的分隔符组合,否则返回一个 [Java -7]

问题描述

我将发送两个变量,以及是否要检查变量是否为空。如果它不为空,则将两个字符串与任何分隔符连接起来。否则只返回一个或空字符串。

我们有任何内置的测试方法或比下面更好的方法吗?

private String getValue(String valueOne, String valueTwo) {
    String value = null;
    if(valueOne != null) {
        value = valueOne;
    }
    if(value != null && valueTwo != null) {
        value += "-" + valueTwo;
    }else if(valueTwo != null) {
        value = valueTwo;
    }
    return value !=null ? value : "";
}
a = "abc" and b = "efg"
OUTPUT: "abc-efg"
a = null and b = "abc"
OUTPUT: "abc";

标签: javastring

解决方案


我选择接受任意数量的参数,但更改为只接受两个很容易,您仍然可以使用Stream.of

private String getValue2(String... values) {
    return Stream.of(values)
            .filter(Objects::nonNull)
            .collect(Collectors.joining("-"));
}

推荐阅读