很久没有苦学groovy了.今天再翻看了一下groovy in action,as keyword,它支持类型的别名:
在java里面,对一些已经写好了,标记为final的,或者不被推荐继承的类和接口,我们可以说是毫无办法可言,可是在groovy的帮助下就不一样了,groovy绝对不是Java的语法糖(groovy in action的作者老是强调这一观点,不过说得很实在,groovy的出现的确减少了程序员的开发工作量)。这时候,groovy的as关键字就大派用场了.
as.groovy 代码
- import java.net.URLEncoder as U1
- import java.net.URLEncoder as U2
- println U1.encode("中","gbk");
- println U2.encode("国","gb2312");
- println U1.encode("人","gb18030");
输出结果
- F:\>groovy as.groovy
- %D6%D0
- %B9%FA
- %C8%CB
这里,我选用了做web开发比较常用的URLEncoder,我们可以动态地给URLEncoder加上自己的方法.
as2.groovy 代码
- import java.net.URLEncoder as U1
- import java.net.URLEncoder as U2
- class U3 extends U2{
- GString encode(GString str){
- encode(str,"UTF8");
- }
- }
- println U1.encode("中","gbk");
- println U2.encode("国","gb2312");
- println U1.encode("人","gb18030");
- println U3.encode("中国人");
输出结果
- F:\>groovy as2.groovy
- %D6%D0
- %B9%FA
- %C8%CB
- %D6%D0%B9%FA%C8%CB