Groovy基础语法

1.GroovyBean和javaBean的区别。GB是不用写get和set方法。Groovy会自动填充这样的方法。并且可以使用快捷方式来使用属性:
book.title
这不是直接访问类属性。而是访问属性的快捷方式2.使用断言。断言是指我认为这个是什么东西。返回boolean值
assertbook.title='Groovy in action'
3.在Groovy中数字也是对象。你可以使用
x.toString()

4.在Groovy中集合有数组和集合的双重身份,他可以存放不同类型的元素,而且长度可变,但是使用可以用中括号引用

def books = ['java','C#','Groovy','Grails']
println(books[3])
def http=[100:'continue',200:'ok',400:'bad rquest',404:'resour not find',500:'system bad']
println(http[500])
http[600]='create new message'
//范围(ranges)
def x = 1..10
assert x.contains(5)
assert x.contains(15) == false
assert x.size() == 10
assert x.from == 1
assert x.to == 10
assert x.reverse() == 10..1

5.与java不同的东西闭包。一个闭包是一个用花括号围起来的语句块,像别的任何代码块,为了传递参数给闭包,闭包有一组可选的参数列表,通过“->”表示列表的结束

[1,2,3].each{entry -> println entry}//list.each结构,打印list其中entry是参数

6.Groovy结构控制,跟java是一样的if-elsewhileswitchtry-catch-finally

7.你应该知道GDK他时JDK的扩展,size()方法可以用在任何对象上

8.在Groovy中什么都是对象,包括数据类型,不要看到你是使用的int,其实后台你使用的是Integer,并且Groovy支持在对象上使用运算操作符

// Java code!
ArrayList results = new ArrayList();
for (int i=0; i < listOne.size(); i++)
{
    Integer first = (Integer)listOne.get(i);
    Integer second = (Integer)listTwo.get(i);
    int sum = first.intValue()+second.intValue();
    results.add (new Integer(sum));
}
//使用Groovy的方式
results.add(first.plus(second))
results.add(first+second)

9.自动装箱和拆箱:在groovy中出现的字面符号(数字、字符串等等)没有任何问题,他们都

是对象,他们仅仅传递给java时才进行装箱和拆箱

10.GString和String一样,但是功能更加强大提供了占位符机制${名称}。单引号表示不会按照GSring来处理内容,等价与java的字符串。双引号表示的意思与单引号表示的意思是等价的。如果字符串内容中包括没有被转义的$符号,那么它被加工成GString实例。

11.在控制台打印种类:

System.out.println("abc")
println("abc")
println "abc"

12.使用<<操作符

greeting = 'Hello'
greeting <<= ' Groovy'  //追加文本和赋值一起完成
assert greeting instanceof java.lang.StringBuffer
greeting << '!'  //在StringBuffer上追加文本
assert greeting.toString() == 'Hello Groovy!'
greeting[1..4] = 'i'  //将子串”ello”替换为”i”
assert greeting.toString() == 'Hi Groovy!'

相关推荐