精华帖 (10) :: 良好帖 (11) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-03
如此说来,for和while至少有一个是语法糖,如果开放了goto则for/while全是语法糖了
|
|
返回顶楼 | |
发表时间:2011-10-04
java7的语法糖呢?
|
|
返回顶楼 | |
发表时间:2011-10-04
总结的挺好,继续。
|
|
返回顶楼 | |
发表时间:2011-10-04
嗯,总结得到位!
请问你的反编译工具是? 我用的javap和jd-gui对于for-each这样没有效果. |
|
返回顶楼 | |
发表时间:2011-10-04
ol_beta 写道 需要注意的是:包装类型的“==”运算在没有遇到算数运算符的情况下不会自动拆箱,而其包装类型的equals()方法不会处理数据类型转换
这句没看懂,请LZ略加解释一下 |
|
返回顶楼 | |
发表时间:2011-10-04
kidneyball 写道 ol_beta 写道 kidneyball 写道 ol_beta 写道 kidneyball 写道 内部类和断言应该不算语法糖吧
也算 那它们的非语法糖形式分别是? 写一个内部了和断言 然后反编译class文件 就可以知道了 呵呵 断言是需要用-ea编译参数打开的,否则根本不会被编译。如果对应的形式没有这种特性,那么断言就不算是语法糖了。 而内部类可以访问其外部类的私有成员,甚至会导致外部类的对象被引用(无法GC,这时内部类的对象实例类似于闭包)。我也想不到java里有其他东西与它是完全一致的。 我记得是的,现在电脑没有工具 等放假回去我测试看看。 |
|
返回顶楼 | |
发表时间:2011-10-04
rainsilence 写道 java7的语法糖呢?
http://openjdk.java.net/projects/jdk7/features/ |
|
返回顶楼 | |
发表时间:2011-10-04
最后修改:2011-10-04
Rainbow702 写道 ol_beta 写道 需要注意的是:包装类型的“==”运算在没有遇到算数运算符的情况下不会自动拆箱,而其包装类型的equals()方法不会处理数据类型转换
这句没看懂,请LZ略加解释一下 可以试试这个代码 @Test public void javaEyeTest(){ Integer int1 = new Integer(1); Integer int2 = new Integer(2); System.out.println(int1==int2); Double double1 = new Double(2.0D); System.out.println(double1.equals(2)); } |
|
返回顶楼 | |
发表时间:2011-10-04
不知道楼主的重点是什么,这种语法糖是好还是不好?
我想高级语言带来的是方便和实用,而不是追究他是如何实现的。 如果带来了方便,语法糖也没什么不妥,比如ArrayList, HashMap其实你也可以看作语法糖。是不? |
|
返回顶楼 | |
发表时间:2011-10-04
Ben.Sin 写道 不知道楼主的重点是什么,这种语法糖是好还是不好?
我想高级语言带来的是方便和实用,而不是追究他是如何实现的。 如果带来了方便,语法糖也没什么不妥,比如ArrayList, HashMap其实你也可以看作语法糖。是不? 1.语法糖是好的,能方便我们开发,增强代码可读性,减少我们出错的几率。 2.语法糖是语法,不是类库和工具类。 |
|
返回顶楼 | |