Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

標準アノテーション

アノテーションの中でも、Java SE標準で提供されているアノテーションのことを、標準アノテーションと呼びます。Java SE 8の時点では、以下のようなものがあります。

オーバーライドを明示する – @Overrideアノテーション

そのメソッドがスーパークラスのメソッドをオーバーライド(上書き)していることを宣言します。省略しても動作自体に支障はありませんが、明示することでメソッド名や引数にタイプミスがあった場合には、コンパイラーが警告を発生します。

Triangle.java

package com.example.mynavi.object;

public class Triangle implements IAreable {
  ...中略...
  @Override
  public double getArea() {
    return base * height / 2;
  }
}
非推奨メソッドであることを宣言する – @Deprecatedアノテーション

そのメソッドが非推奨扱いであることを宣言します。このメソッドを使ったコードは、コンパイル時に警告を発生します。

@Deprecated
public void hoge() { ... }
警告メッセージを抑制する – @SuppressWarningsアノテーション

コンパイラーが特定の警告を発生するのを抑制します。たとえば下位互換性などの都合で非推奨のメソッドを意図して使っている場合に、いちいち警告が出るのは邪魔です。そのような場合には、このアノテーションで明示的に警告をオフにします。

@SuppressWarnings("deprecation")
public static void main(String[] args) {
  ClassSample g = new ClassSample();
  g.hoge();	// 非推奨のhogeメソッド
}

その他、@SuppressWarningsアノテーションで利用できる設定値には、以下のようなものがあります。

@SuppressWarningsアノテーションの主な設定値
設定値 警告の内容
cast 不要なキャスト
deprecation 非推奨のメンバーを利用
divzero ゼロで除算
unused 使われていない変数がある
アノテーション
標準アノテーション
@interface命令
アノテーションを利用する

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職