2016-07-21 14 views
1

私は、IntelliJ IDEaがいくつかのメソッドの横にこの小さな@というマークを持っていることを静的に推測できることがわかりました。例えばIntelliJ IDEaで@Contractアノテーションを追加するには?

は、次のコードで:@Contract("null, _ -> fail")

public void method(Object arg1, Object arg2){ 
    assert arg1 != null; 
    //Do something.. 
} 

テIDEには、以下の@Contractを提案しています。 IntelliJ IDEaはいくつかのコマンドでこの契約を追加できますか?私は左クリックしてみましたが、それは助けになりません。

また、これらのアノテーションはどのように機能するのかについての良い説明はありますか?

答えて

2

静的に推論されたコントラクトアノテーションは、アノテーションアノテーションとしてコード分析で使用されるため、実際に明示的にアノテーションを追加する必要はありません。しかし、まだメソッドを追加したい場合は、メソッド名にテキストカーソルを置き、をAlt + と入力してと入力し、というインテントを呼び出します。この意図はMake Inferred Annotations Explicitと設定されています。

@Contractの意図の構文と使用方法は、announcement blog postで非常によく説明されています。

関連する問題