GroovyはJavaの改善として常に私を惹きつけてきました。 実際、ほとんどすべてのJavaコードはGroovyの有効なコードになります。 Groovy-wayで何かを行う方法を覚えていない場合は、Javaの慣習的な方法でいつでも書くことができます。覚えている場合は、ここにクロージャー、便利なリスト、 その他多くの素晴らしいものがあります。
Groovyを使用して製品コードを開発できなかった唯一のことは、多くの場合にコンパイルエラーがなかったことです。 たとえば、存在しないメソッドを呼び出す場合、存在しない変数などを参照します。
多くのGroovyフレームワークおよびライブラリーでは、これは本当に必要です(たとえば、Groovy でXMLを操作するを参照)が、通常のコードを書くと、真剣に悩まされます。
だから、ついにGroovy 2.0では、言う機会がありました-このクラスの型、メソッドと変数の存在をチェックしてください!
たとえば、次のクラスをご覧ください。

問題なくコンパイルします。
しかし、追加する場合
@TypeChecked
(このアノテーションはクラスまたはメソッドに設定できます)、エラーが発生します:

また、
@CompileStatic
アノテーションを使用してクラスの静的コンパイルを
@CompileStatic
と、チェックが自動的にオンになります。

これで、Javaで作成されたすべてのものをGroovyで作成でき、コンパイラーが見逃した問題を恐れることはありません。
チェックの完全なリストはここにあります 。
デフォルトの型チェックを行い、注釈による動的型付けを行ったら素晴らしいでしょう...