我正在为类编写一个 equals(Object obj)
函数。我看到可以从调用者访问 obj
的私有(private)字段。所以不要使用 setter/getter :
Odp other = (Odp) obj;
if (! other.getCollection().contains(ftw)) {
}
我可以直接访问该字段:
Odp other = (Odp) obj;
if (! other.collection.contains(ftw)) {
}
这是不好的做法吗?
最佳答案
我总是倾向于使用 getter,因为有时 getter 不仅仅是“return(foo)”。有时,如果它们为空,它们会初始化它们,或者在其中进行一些调试日志记录,或者以某种方式验证当前状态。它更一致。
关于Java:直接从同一类的另一个实例访问私有(private)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1548879/