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!'
相关推荐
简单点好 2013-09-04
软件的信雅达 2020-11-02
糖葫芦娃哈哈 2020-11-02
淡茶 2020-05-10
PHP学习笔记 2020-03-06
anvien 2020-01-08
quzhongwei 2020-01-06
淡茶 2020-01-03
tysforwork 2019-12-12
PeterHao0 2013-08-31
软件的信雅达 2019-11-19
软件的信雅达 2017-02-11
yiyilanmei 2015-04-28
无聊找点事做 2019-09-06
HaleyJenkins 2016-10-18
PeterHao0 2016-01-22
dieefer 2017-02-11
liushidexing 2016-11-03
春天花会开 2016-11-01