実装例1
// nullがどこかの処理で設定されている前提で
String str = null;
// Optional.ofNullableメソッドの引数がnullの場合にorElseメソッドの引数の値を返す
String result = Optional.ofNullable(str)
.map(s -> s.replace("\n", "").replace("\r", ""))
.orElse(null);
System.out.println(result); // null
実装例2
プライベートメソッド追加
private static String safeReplace(String str, String replacement) {
// nullだったらreplaseメソッド実行されない
return (str == null) ? null : str.replace("\n", replacement).replace("\r", replacement);
}
プライベートメソッド呼び出している処理の一部
// nullがどこかの処理で設定されている前提で
String str = null;
String result = safeReplace(str, "");
System.out.println(result); // null