public static void nullToInt(int obj) {
if(new Integer(obj) == null) {
System.out.println(obj);
}
}
怎么让方法里面的new Integer(obj) == null成立,有这样的可能吗?

解决方案 »

  1.   

    没有这样的可能。你new了之后就已经分配了内存。已经不为空了。
      

  2.   

    这是C++等中才会有可能new失败了,返回null空指针。Java不会,要么OOM异常
      

  3.   

    可以这样 Integer.valueOf(把你的int传进来)  应该就可以了
      

  4.   

    通过new关键字创建对象之后,会分配内存,此时对象不可能为null
      

  5.   

    不能,在C++中new失败了,返回nullptr空指针。Java不会,失败了只能给你OOM异常
      

  6.   

    1、传递的参数obj为null(Integer obj = null; nullToInt(obj)),首先在eclipse中会有警告提示Null pointer access,强行忽略不管,执行,代码执行到方法调用处直接报空指针异常;
    2、将参数中的int改为Integer,依然传递一个null值Integer,代码执行到为空判断处依然报空指针异常还有一点就是,当写完这块代码时,eclipse会提示判断逻辑代码无效Remove(including condition),难道你用的是idea或者其他编译器么。。好了,我是解决不了,感觉自己太菜了  哈哈
      

  7.   

    不可能,在new 对象的时候,已经分配了内存