为什么此方法返回“ null”而不是null

时间:2020-02-11 09:31:00

标签: java java-stream

我有这种方法可以从remittanceInformation对象中提取一些信息

private static String combineStrings(RemittanceInformation remittanceInformation) {
        return Optional.ofNullable(remittanceInformation)
                .map(RemittanceInformation::getUstrds)
                .map(l -> l.stream().collect(Collectors.joining(/* CRLF? */)))
                .orElse(null);
    }

现在remittanceInformation中的所有内容都是null,这种情况下的方法应该返回null 但是它返回带有双引号的"null",为什么会这样呢?

1 个答案:

答案 0 :(得分:2)

字符串的连接会提供一个字符串,如果一个术语为null,则可能为“ null”(“” + null)。一定是这种情况:一个非null的remittanceInformation,其中getUstrds()给出一个具有单个null的集合。