groovy与java比较
默认导入如下包html
- java.io.*
- java.lang.*
- java.math.BigDecimal
- java.math.BigInteger
- java.net.*
- java.util.*
- groovy.lang.*
- groovy.util.*
常见错误java
- ==表明equals()
- in是一个关键字
- 声明数组用[ ]
- for (int i=0; i < len; i++) {...}通常用如下简写
- for (i in 0..len-1) {...}
- for (i in 0..<len) {...}
- len.times {...}
注意事项express
- 分号是可选的。多条语句写在一行时必须用分号
- return关键字是可选的
- static methods内必须使用this关键字
- 方法和类默认是pubilc
- protected同java
- 不支持内部类,可用闭包(closures)代替
- 不会检查方法throws的异常,there is no difference between checked and unchecked exceptions.
- 没有定义的成员和类型不编译是不会报错,参见Runtime vs Compile time, Static vs Dynamic.
New features added to Groovy not available in Java
- Closures
- native syntax for lists and maps
- GroovyMarkup and GPath support
- native support for regular expressions
- polymorphic iteration and powerful switch statement
- dynamic and static typing is supported - so you can omit the type declarations on methods, fields and variables
- you can embed expressions inside strings
- lots of new helper methods added to the JDK
- simpler syntax for writing beans for both properties and adding event listeners
- safe navigation using the ?. operator, e.g. "variable?.field" and "variable?.method()" - no more nested ifs to check for null clogging up your code
欢迎关注本站公众号,获取更多信息