OracleのNVLっぽいやつ(伝われ)をJavaでやってみた。
null以外だったらそのまま、nullだったら特定の文字列が出る。
以下、commons-lang3-3.5を使用。
Sample1.java
String s = null;
String result = ObjectUtils.defaultIfNull(s, "ぬる");
System.out.println(result); //=> ぬる
と、知っていれば1行で書けるものを。
実際にプログラマから上がってくるコードはこんなの↓とか。
Sample2.java
String s = null;
// まだマシな方
if (s == null) {
s = "ぬる";
}
System.out.println(s); //=> ぬる
うっかりするとこんなの↓とか。
Sample3.java
String s = null;
// やめてくださいしんでしまいます
if (s == null) {
System.out.println("ぬる");
} else {
System.out.println(s);
}
これが入力値とかだったりすると、Sample3みたいなのが100個くらい量産されてしまって、そうなるともはや手に負えない。誰がレビューするんだよ。
頑張ってクソコードを量産するのは止めてほしいなあ…