groovy.lang.*; groovy.util.*; java.lang.*; java.io.*; java.math.BigDecimal; java.math.BigInteger; java.net.*; java.util.*;?
a=new Date() a=1; Date b=new Date(); b=2.0;
Exception thrown org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object ‘2.0‘ with class ‘java.math.BigDecimal‘ to class ‘java.util.Date‘ at ConsoleScript4.run(ConsoleScript4:4)
String hello="Hello World"; void printHello() { System.out.println(hello); } printHello();
Exception thrown groovy.lang.MissingPropertyException: No such property: hello for class: ConsoleScript6 at ConsoleScript6.printHello(ConsoleScript6:4) at ConsoleScript6.run(ConsoleScript6:6)
jvmLanguages=["Java","Groovy","Scala","Clojure"]; println(jvmLanguages[0]); println(jvmLanguages.size()); println(jvmLanguages[0..2]) println(jvmLanguages[-1]) jvmLanguages=[]; println(jvmLanguages);
Java 4 [Java, Groovy, Scala] Clojure []Groory是动态类型语言,所以可以把不同类型的只保存在列表和映射中。
jvmLanguages=["Java",2,"Scala",new Date()]; println(jvmLanguages);
[Java, 2, Scala, Mon Jan 05 14:22:22 CST 2015]
languageRatings=[Java:100,Groovy:99,Clojure:"null"]; println(languageRatings["Java"]); println(languageRatings.Clojure) languageRatings["Clojure"]=75; println(languageRatings["Clojure"]); println(languageRatings); languageRatings=[:]; println(languageRatings);
100 null 75 [Java:100, Groovy:99, Clojure:75] [:]
Demo demo=new Demo(); println(demo.doSomething()); public class Demo { public Integer doSomething() { def x=1 def y;def String z="Hello World" println "the doSomething method be invoked!" x=5 } }
the doSomething method be invoked! 5???如果把上面代码中的public都去掉,输出还是一样
Integer x=new Integer(2); Integer y=new Integer(2); Integer z=null; if(x==y) { println "x==y" } if(!x.is(y)) { println "x is not y" } if(z.is(null)) { println "z is null" } if(z==null) { println "z is null" }?
x==y x is not y z is null z is null
?
原文:http://bsr1983.iteye.com/blog/2172735