標準アノテーション
アノテーションの中でも、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 public void hoge() { ... }
コンパイラーが特定の警告を発生するのを抑制します。たとえば下位互換性などの都合で非推奨のメソッドを意図して使っている場合に、いちいち警告が出るのは邪魔です。そのような場合には、このアノテーションで明示的に警告をオフにします。
@SuppressWarnings("deprecation") public static void main(String[] args) { ClassSample g = new ClassSample(); g.hoge(); // 非推奨のhogeメソッド }
その他、@SuppressWarningsアノテーションで利用できる設定値には、以下のようなものがあります。
@SuppressWarningsアノテーションの主な設定値 | |
---|---|
設定値 | 警告の内容 |
cast | 不要なキャスト |
deprecation | 非推奨のメンバーを利用 |
divzero | ゼロで除算 |
unused | 使われていない変数がある |