<分区>
我从事 Java 开发已有多年。最近,Groovy 引起了广泛关注。我检查了一下,它看起来很有趣,但我没有看到它有任何内在的“令人惊叹的因素”;意思是,我看不出有任何内在值(value)可以开始开发它。
现在,我肯定我只是没有在这里看到森林。所以,我问整个 SO 社区:学习 Groovy 对任何 Java 开发人员有什么好处?什么特性/功能/等。它比普通的 Java 做得好(或做得更好)吗?
软件世界中的事物不会无缘无故地像野火一样火爆。我确信 Groovy 具有各种漂亮的小(和大)功能,这使它成为必须知道的;我只是没有“得到”它。提前致谢。
在我看来,Groovy 相对于 Java 的一些最大的冒险是:
得益于重载运算符和简化的属性访问,代码更简洁。而不是写
if (obj1.getBar().equals(obj2.getBaz())) {
obj3.setFoo("equal");
}
你可以写
if (obj1.bar == obj2.baz) {
obj3.foo = "equal"
}
我认为它更具可读性。
你可以写
def attributes = [color: "red", width: 1]
对标准库的有用扩展。例如,您可以这样读取文件和网页:
def fileContents = new File('readme.txt').text
def pageContents = new URL('readme.txt').text
用于初始化属性的语法糖 - 例如,
MyClass myObject = new MyClass();
myObject.setFoo("bar");
myObject.setBaz(23);
可以替换为
def myObject = new MyClass(foo: "bar", baz: 23)