易截截图软件、单文件、免安装、纯绿色、仅160KB

Assert 在Java和Groovy中的区别

对于防御性编程而言,assert一直都是非常重要的工具。但对于熟悉-ea参数的Java程序员而言,当他们看到所有Groovy断言无论是否有-ea都照样执行时一定会非常困惑。
事实上,Groovy的断言是无条件开启的!
对此,开发人员Roshan Dawrani做了如下解释:(原文)
The JDK documentation has a long chapter on assertions that talks about the disabling feature for assertions and its impact on compiling, starting the VM, and resulting design issues. Although this is fine and the design rationale behind Java assertions is clear, we feel the disabling feature is the
biggest stumbling block for using assertions in Java. You can never be sure that your assertions are really executed.
在Core Java(或者是TIJ?记不清了)里,作者提到assertion类似“在海边开赛艇要带好你的卡通救生圈;如果船已经在大海中央,就把救生圈扔掉好了”。不过,在Groovy中,显然这种防御措施会一直跟随你到大海的任意角落(希望不是海底)。
PS:如果仔细看看Groovy断言的输出,你一定会意识到它对于debug是多么有用:
1: def xml = new XmlParser().parseText("x")
2: assert "y" == xml.text()
3: -----
4: output:
5:
6: assert "y" == xml.text()
7: | | |
8: | | x
9: | test[attributes={}; value=[x]]
10: false
11:
******
Quote of the day:
I didn't really say everything I said. - Yogi Berra


相关文档:

Java jdbc Oracle error: ORA 12505

更改oracle Listener 配置:D:\Oracle\moon\product\11.1.0\db_1\NETWORK\ADMIN  目录之下:Listener.ora文件进行配置:
# listener.ora Network Configuration File: d:\Oracle\moon\product\11.1.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SI ......

java中指针的问题

除 八个基本类型(Long ,short,int ,float,double,char,byte,boolean)外,其他的数据类型都被称为“引用类型”,也即:Object。Object的操作全是通过对象的引用(Object references),引用可以理解为指针,容易让人对应到C++的传址上面去。所以,大家要注意喽!java里面虽说没指针,其实却不然。 ......

Java: @Override must override a superclass method

如果你用的是myeclipse 6.0 而且 在使用
@Override 时出现以下错误:
The method XXXXXX   of type XXXXXXXXX must
override a superclass method
那是因为你的Compiler 是jdk1.5,只要把它改为 1.6就可以了
方法:
1. window ->preferences... -> java -> Compiler
2. Compiler compliance lev ......

用java写的一个斗地主发牌小程序

package bag;
import java.util.*;
public class Dou {
 /*
  * 生成扑克牌
  */
 public String[] puke() {
  String[] s1 = { "黑桃", "红桃", "梅花", "方片" };
  String[] s2 = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J",
     ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号