日期:2014-05-20  浏览次数:20690 次

一个对象与null的==判断
java中每个对象都可以进行==操作

public   class   T{
      public   T()   {
      //如果在构造对象时发生了异常,我想让这个对象与null的==操作返回true
}

T   t   =   new   T();   //如果这里构造对象时出错了,我希望t是null的。这样怎么做呢?
if   (t   !=   null)
  //...

------解决方案--------------------
class T{
private T(){
}
public static T CreateT(){
return new T();
}
}
当然 你如果需要T能再扩展的话 也可以弄成:
class T{
public T(){
}

}
class TFactory{
public static T CreateT(){
return new T();
}
}
每次就不用new T()了 而使用CreateT() 你可以把你对生成的T的要求在这个函数内实现 也可以使用异常处理等等 总之如果不满足你的要求时 就让CreateT()返回一个null值
那样你就可以用t == null判断了