nullのチェックを忘れる
なにも無いときはnull、というコーディングスタイルだと、しょっちゅうNullPointerExceptionが出て悲しい思いをしてしまう。
とりあえず思いつきでこんなん書いてみる。
package net.sf.camldt.utils; public class Nullable<T> { public Nullable(T content) { this.content = content; } public T content; public interface May<T> { public void run(T conetnt); } public interface Map<T> { public <S> S apply(T content); } public void may(May<T> may) { if (this.content != null) may.run(this.content); } public <S> S map(Map<T> map) { if (this.content != null) { return map.apply(this.content); } else { return null; } } }
使うのか!?使わないだろうなぁ。