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

java内存分配的问题! - Java / J2ME

我以前做c++和c的. 现在做java.
我看到通常java里面使用new进行内存分配的时候 都不检查是否分配成功, 对象是否还是null.

Java code:
A a = null;
a = new A(param);
a.setXX();


如果分配失败会有什么结果?
为什么不检查new失败后是否null?
Java code:

A a = null;
a = new A(param);
if(null == a){
return;
}
a.setXX();


请大大们指点一二. 我们公司现在定标准, 非得要求检查是否是null..我得找个理由驳回.


应该检查的~~ 这是个好习惯,为什么还要驳回呢?

可能太闲了吧,检查下也没什么。

上面怎么说你就怎么做呗



引用

如果new语句失败,证明内存不足,java会产生OutOfMemoryError,所以3语句永远没机会运行。
正确的方法是在程序调用的适当地方,用try,catch语句处理OutOfMemoryError异常。

Java code

1. A a = null;
2. a = new A(param);
3. if(null == a){
4. return;
5. }


我测试一下, 谢谢你的回答!


引用
应该检查的~~ 这是个好习惯,为什么还要驳回呢?

我觉得这种方式的检查是错误. 就像5楼说的那样.



按照C++标准,new失败也不会得到NULL,呵呵,检查也没啥作用。

引用



相关问答:

java日期处理 - Java / Java SE

当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910

取得天数后作一下判断再把这个方法用下void set(int field, int value)  
......

java swing 程序如何打包 - Java / Java相关

java swing 程序如何打包成jar,然后可以通过批处理文件bat直接运行,有没有什么工具直接可以完成这两个工作?
用jar打包,把运行需要的jar拷贝到一个目录,批处理用 start javaw -cp .;其他包路径 运行

用zip ......

myeclipse+mysql的配置问题 - Java / Eclipse

我是个新手,望高手解答
我现在已经安装了mysql,也有mysql的jdbc。但我怎么配置后,才能在MyEclipse里操作mysql呢?请高手说详细点
打开Myeclipse----window---open perspective---MyEclipse database explorer-- ......

java synchronized - Java / Java SE

Java code:

......
synchronized(user){
int loginNum = Integer.parseInt(Main_Client_Dia.jtf2.getText().trim());
Main_Client_Dia.jtf2.setText("");
loginNum++;
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号