首先,groovy语言已经可以用来写android程序了.
接下来(你只需要看30秒,然后再决定是否看下去),让我们先看看groovy语言可以写得多简单:
以下java代码:
JavaTest.java
package com.fanhl.test.t2015.t01.t20150114;
import java.util.ArrayList;
import java.util.List;
/**
* Created by fanhl on 15/1/14.
*/
public class JavaTest {
public static void main(String[] args) {
List<String> lst = new ArrayList<>();
lst.add("This");
lst.add("is");
lst.add("Sparta");
for (String s : lst) {
System.out.println(s.toUpperCase());
}
}
}
接下来,我们把这个java文件改成groovy文件.
方法非常简单,我们只需要把JavaTest.java的
扩展名从
.java改成
.groovy就可以了.(实际上,为了防止class文件名冲突,文件名我也修改了)
GroovyTest.groovy
package com.fanhl.test.t2015.t01.t20150114;
import java.util.ArrayList;
import java.util.List;
/**
* Created by fanhl on 15/1/14.
*/
public class GroovyTest {
public static void main(String[] args) {
List<String> lst = new ArrayList<>();
lst.add("This");
lst.add("is");
lst.add("Sparta");
for (String s : lst) {
System.out.println(s.toUpperCase());
}
}
}
实际上,我们还可以继续简写:
1.去掉包声明,类/方法声明
GroovyTest2.groovy
List<String> lst = new ArrayList<>();
lst.add("This");
lst.add("is");
lst.add("Sparta");
for (String s : lst) {
System.out.println(s.toUpperCase());
}
没错,这个文件就这么多内容,当然它是可以运行的.
2.去掉参数类型声明,嗯,还有分号
GroovyTest3.groovy
lst = []
lst.add("This")
lst.add("is")
lst.add("Sparta")
for (def s : lst) {
System.out.println(s.toUpperCase())
}
运行一遍,没有任何问题
3.以数组的形式声明ArrayList,改变for循环结构
GroovyTest4.groovy
lst = ["This", "is", "Sparta"]
lst.each { println it.toUpperCase() }
4.我们再来简写成一行代码:
GroovyTest5.groovy
["This", "is", "Sparta"].each { println it.toUpperCase() }
没错,就一行代码!!
以上.
最后,以上代码均在 Intellij IDEA工具中运行(这个工具自带groovy语言)
源代码在这里:
https://github.com/dyguests/GroovyStudy/tree/master/src/com/fanhl/test/t2015/t01/t20150114
下一讲:一个用groovy语言编写的android样例程序.