繁体   English   中英

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

[英]what's the best way to check if an object's attribute is empty?

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

哪种方法是最佳实践或首选方法。

我认为这确实可能是样式问题,其余的要取决于对代码的警惕性,然后再调用这两个代码以确保Object本身不为null。

我个人已经完成了一些方法,可以在Utility类中编写一个静态方法,然后该方法提供ObjectUtility.isAttributeEmpty(Object object)之类的方法,并让黑盒内部成员安全地找出它。

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

更糟糕的问题是,当第三个答案为“ null”时,您如何回答是非题。

如果“属性为空”具有特殊意义,那么最好创建一个布尔型getter来命名它,并以其实现方式调用实用程序方法:

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

也有机会以相反的方式命名它,例如,以我上面的示例为例:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM