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;	
		}
	}
}

使うのか!?使わないだろうなぁ。