CompileStatic

允许静态编译代码。它的字节码将更接近 Java,因此具有更好的性能,但某些动态功能将无法使用。

@groovy.transform.CompileStatic
class ListMath {
    def countSize(List<String> strings) {
        strings.collect { it.size() }.sum()
    }
}

assert new ListMath().countSize(["a", "bb", "ccc"]) == 6