在Java中,try/catch与null检查之间的区别
- 论坛
- 在Java中,try/catch与null检查之间的区别
23 浏览
在Java中,try/catch与null检查之间的区别
有时候我会遇到需要写出像这样的代码(通常它会有更多嵌套的if语句和更复杂的结构,但用例中足够了):
public void printIt(Object1 a){ if (a!=null){ SubObject b= a.getB(); if (b!=null){ SubObject2 c=b.getC(); if(c!=null){ c.print(); } } } }
当我不需要知道哪个部分出错,如果某个对象为空则什么都不做,一个方法是这样的:
public void printIt(Object1 a){ try{ a.getB().getC().print(); }catch (NullPointerException e) { } }
这种第二种形式有什么问题吗,比如性能或其他类型的问题?