これを単純に行おうとすると、単純な問題に遭遇しました。
public void someMethod(){
int x = 0;
...
@SuppressWarnings({"rawtypes", "unchecked"})
x = ((Comparable)lhs).compareTo(rhs);
...
}
これは違法であり、コンパイルするには言い換える必要があります:
public void someMethod(){
...
@SuppressWarnings({"rawtypes", "unchecked"})
int x = ((Comparable)lhs).compareTo(rhs);
...
}
問題をElementTypeまで追跡しました: ステートメントは有効なプログラム要素ではないようです。これはかなり紛らわしいです。私は、ステートメントはすべてのプログラミング要素のスーパータイプのようなものだと思っていました。
有効な要素を制限する理論的または技術的な理由はありますか?
ElementType
別の方法で行うことはできますか?つまり、自分のクラスに 取って代わり、波打つような変更をマスターできるとしたら、ステートメントに注釈を付けることができますか?