博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载][Groovy] Groovy与Java的区别(一)
阅读量:7119 次
发布时间:2019-06-28

本文共 1313 字,大约阅读时间需要 4 分钟。

原文地址:
作者:
因为Groovy可以用Java的所有功能(虽然JVM不同的时候可能会比较麻烦,比如在Android上),所以Groovy与Java的区别可以说就是Groovy的所有特点与优点了。
1. 自动import以下类:
  • java.io.*
  • java.lang.*
  • java.math.BigDecimal
  • java.math.BigInteger
  • java.net.*
  • java.util.*
  • groovy.lang.*
  • groovy.util.*
其实如果用Eclipse的话这个真无所谓……
2. ==相当于equals(),相同性要用.is()
在Java中==对基本量
当于equals(),对对象表示相同性,确实有时让人容易搞混。
3. in现在是关键词,用在groovy版的enhanced for loop中。比如
for
(i
in
0
..len-
1
) {...}或者
for
(i
in
0
..<len) {...}(还有一个用法是
len.times {...}
其实我觉得Java5的
enhanced for loop已经很好用了。
4. 数组写法:
int
[] a = [
1
,
2
,
3
]
在Java中是:
int
[] a = {
1
,
2
,
3
};
5. 分号结束符可用可不用
但是一行写多句代码的时候肯定还是要用的
6. 函数可以不申明return,如果不写的话函数的最后一句将被自动返回
个人认为还是写一下return比较清楚明白。当然closure中就不用了。
7. 用def定义变量相当于定义一个Object类型的变量
这一点应该是给经常用JavaScript的人看的,Java的话就用想用的定义就好了。
8. public 是默认的,也就是default没有了…………
是不错,反正我是没怎么真正用到default的。不过少写几个public也算不上大改变。
9. 调用函数时参数可以不打括号,closure总可以写在括号外面。
有些情况下却非打不可……如果为了保持一致性还是打上吧……
10. 类名直接表示类,不用写.class
11. 如果不加任何修饰的建立一个field,实际上会产生一个private field加上public的getter以及setter;如果只加final修饰的话会产生一个final private field加上一个public的getter,没有setter。当用到this时会直接调用field而不是用getter和setter。总之就是getter和setter不用自己写了。
对于Java来说是个进步,但是Eclipse自带的生成setter和getter的功能已经做到这一点了……
12. 用闭包代替匿名内部类做listener。不再支持
匿名内部类
虽然我也不喜欢匿名内部类,但是突然不支持
匿名内部类恐怕会导致很多直接拷过来的Java文件需要重写……
13. 编译器变得宽松,容许许多错误,因为动态运行时这些错误也许就不是错误了。
总的来说,我还是更喜欢严禁的编译器,不过为了动态效率就忍了吧……
1265.gif       
sg_trans.gif?t=5

转载地址:http://emnel.baihongyu.com/

你可能感兴趣的文章
制作可以 SSH 登录的 Docker 镜像
查看>>
PHP
查看>>
struts2 helloworld
查看>>
http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
查看>>
王垠:对博士学位说永别
查看>>
本来连学计算机的都不是,怎么却读了计算机研究生
查看>>
LeetCode-326. Power of Three
查看>>
HDU 5305 Friends dfs
查看>>
【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
查看>>
Windows Azure 入门系列课程Windows Azure 入门系列课程
查看>>
VK Cup 2016 - Round 1 (Div. 2 Edition) A. Bear and Reverse Radewoosh 水题
查看>>
成都Uber优步司机奖励政策(3月31日)
查看>>
jquery通过ajax方法获取json数据不执行success
查看>>
字符数组转换成数字
查看>>
URL,URLConnection,HttPURLConnection的使用
查看>>
PHP对象和接口抽象类注意事项
查看>>
转: android apk 防止反编译技术(1~5连载)
查看>>
[唐诗]古风(其三十一)-李白
查看>>
触发器创建删除等操作
查看>>
Java版 数字金额大写转换
查看>>