我以前做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,呵呵,检查也没啥作用。
引用
相关问答:
一个JSP页面接收其他页面提交过来的FORM表单,但是要求只接收当前站点及其子站点提交过来的FORM表单,其他站点提交过来的表单不接收,这个怎么设置? 用过滤器 filter 将当前站点及其子站点放一个目录 然 ......
我JSP的页面是: <%@ page language="java" contentType="text/html; charset=gb2312" %> <script> function Save(){ xmlHttp=GetXmlHttpObject() if(xmlHttp==nul ......
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 52 in the jsp file: /vip_info.jsp ÕË cannot be resolved 49: <table border="1& ......