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