检查对象的属性是否为空的最佳方法是什么?

时间:2015-11-12 03:16:03

标签: java

例如,我使用StringUtils.isEmpty(Object.attribute);检查属性是否为空。每次我需要检查此属性是否为空时,我应该放置该代码吗?或者最好将其包装在方法Object.isAttributeEmpty()中,然后调用StringUtils.isEmpty()内的isAttributeEmpty()

哪种方式是最佳做法或首选方式。

2 个答案:

答案 0 :(得分:0)

我认为它确实是一个风格问题,剩下的就是在调用这些代码之前对代码保持警惕,以确保Object本身不为空。

就个人而言,我已经完成了在Utility类中编写静态方法的方法,然后提供像ObjectUtility.isAttributeEmpty(Object object)这样的方法,并让黑盒子内部安全地计算出来。

而在其他时候,让对象本身知道可能会很舒服。这取决于样式是否规定您应该编写简单的Java对象,或者是否允许更复杂的方法在对象中固有。

更糟糕的问题是,当第三个答案是&#34时,你如何回答真/假问题?它是空的"。

答案 1 :(得分:0)

如果"属性为空"具有特殊意义,那么你最好创建一个布尔getter来命名它,并将其实现调用实用方法:

class MyClass {
    String attribute;
    boolean isIncomplete() {
        return isEmpty(attribute);
   }
   // other stuff
}

还有机会以相反的意义命名它,例如以上面的例子为例:

boolean isComplete() {
    return !isEmpty(attribute);
}