タグ

nullとannotationに関するyassのブックマーク (4)

  • 大刷新リリース Java 8の新機能

    タイプアノテーション これまでアノテーションはクラスやメソッドの宣言に対してのみ付与することが可能だったが、Java 8からは変数の型やジェネリクスの型パラメータに対しても付与することができるようになった。この機能は「タイプアノテーション」と呼ばれる。 タイプアノテーションの利用例としてはChecker Frameworkがある。これはコードの様々な個所にアノテーションを付与しておくことでコンパイラだけでは不可能な高度な型チェックを行うことができるというものだ(コマンドラインからの実行に加え、EclipseやIntelliJ用のプラグインも用意されている)。 例えば以下のコードはgetObject()メソッドが常にnullを返すため、実行すると最後の行でNullPointerExceptionが発生する。 Object getObject() { return null; } @NotNu

    大刷新リリース Java 8の新機能
    yass
    yass 2014/09/29
    " 変数objに@NotNullアノテーションを付与しておくことで、Checker Frameworkによって事前にエラーを検出することができる "
  • FindBugs の @NonNull @CheckForNull アノテーション - あるプログラマの日記

    FindBugs の @NonNull アノテーションで引数や戻り値が null でないことを明示すると、可読性もよくなるし、間違って null の引数を指定したり、null を返すコードを書くと、FindBugs の指摘が入るので、不要な null チェックの冗長なコードが減少する。 import edu.umd.cs.findbugs.annotations.NonNull; .. @NonNull public String get(@NonNull String key) { .. return .. } .. 逆に、どうしても null の引数指定や null の戻り値が発生する場合は @CheckForNull アノテーションを付けて null チェックコードを書くように明示することができる。こちらは null チェックがないと FindBugs が指摘してくれる。 impor

    FindBugs の @NonNull @CheckForNull アノテーション - あるプログラマの日記
  • Eclipse Junoでnull解析を行う - Qiita

    Eclipse Junoでnull解析を行う Eclipse Juno(4.2)から、@Nullableが付いたパラメータを、そのメソッド内でNullチェックしていない場合はwarningやerrorにすることが出来るようになります。 @Nullable Nullableアノテーションがついているパラメータは、そのパラメータにはNullが渡されることも許容するという意味になります。 なので、メソッド内で値のNullチェックを行う必要があります。 例えば、以下のようなコードを書いたとします。 import static org.junit.Assert.assertEquals; import javax.annotation.Nullable; import org.junit.Test; public class NullableTest { @Test public void test

    Eclipse Junoでnull解析を行う - Qiita
  • Goodbye, checkNotNull - Kengo's blog

    Precondition checking like null-checking is very important element for program, but sometimes it becomes boring because it's a defensive technique and far apart from our purpose -- hacking. nullチェックのような前提条件確認はプログラムにおいて非常に大切な要素ではありますが、防御的であり目的を実現するためのコードではないため、時につまらない作業になりがちです。 public MyClass(String name) { if (name == null) { throw new IllegalArgumentException(); } this.name = name; } Yes, I know

    Goodbye, checkNotNull - Kengo's blog
  • 1