2015年10月24日土曜日

[Java] Android StudioやEclipseのお節介な警告を消す方法

How to hide warnings on Java
Android StudioやEclipseなどの統合開発環境は一度も使われない変数や呼ばれないメソッド(関数)があると警告してくれます。
ミスを防ぐには強力な機能です。
しかし使わないクラスやメソッドをソースに残したいとき、統合開発環境が鬼の首を取ったような勢いで警告するのはお節介すぎます。



統合開発環境の設定次第では警告を表示しないようにできますが、アノテーションを使って警告を抑止することもできます。
アノテーションで抑止しておけばソースコードを設定の異なる統合開発環境にインポートしても警告を抑止することができます。


環境

・Windows8.1
・JDK 1.7
・Android Studio 1.4
・Eclipse Juno Service Release 2


警告を消す @SuppressWarnings アノテーション

未使用のクラスやメソッドの直前に次の1行を追記します。

@SuppressWarnings("unused")

これでAndroid StudioもEclipseも警告が消えました。


unused以外の警告も抑止できる

全て検証したわけではありませんが@SuppressWarningsは他の警告も抑止できるようです。

@SuppressWarnings("all")
というアノテーションで全ての種類の警告を抑止できます。

他にも次のように警告毎に抑止ができるようです。

@SuppressWarnings("static-access")
型 {1} からの static メソッド {2} には static を参照してください。
を抑止する

@SuppressWarnings("serial")
シリアライズ可能クラス {1} は long 型の static final serialVersionUID フィールドを宣言していません。
を抑止する

@SuppressWarnings("finally")
finally ブロックは正常に完了しません。
を抑止する

@SuppressWarnings("null")
null ポインター・アクセス: 変数 {1} はこのロケーションでは必ず null です。
を抑止する

@SuppressWarnings("deprecation")
{1} は使用すべきではありません。
を抑止する

@SuppressWarnings("unchecked")
型の安全性: メソッド {1} は raw 型 {2} に属しています。 総称型 {3} への参照はパラメーター化される必要があります。
を抑止する

@SuppressWarnings("rawtypes")
{1} は raw 型です。総称型 {2} への参照は、パラメーター化する必要があります。
を抑止する

抑止しすぎると本当に修正が必要な警告まで表示されなくなってしまうので要注意です。


参考にしたサイト

Eclipse警告抑制メモ(Hishidama's Eclipse error/warning Memo)
http://www.ne.jp/asahi/hishidama/home/tech/eclipse/warn.html

SuppressWarnings (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/lang/SuppressWarnings.html


関連ブログ

[Java] Eclipseプラグイン開発のトラブルシューティング
[Java] 文字列がSQL ServerのDateTime型に適合するかチェックする
[Java] SwingのUIを無限ループで更新するには
[Android] Javaのstaticクラス(Handler)から非sataticクラス(Activity)のメソッドを呼び出すには(弱参照)
[Java] thisとは #2
[Blender] obj2opengl.plをJava用に改造する

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿