Java 突变子应该返回布尔值还是不必要的理智检查?

Java 突变子应该返回布尔值还是不必要的理智检查?,java,oop,coding-style,setter,Java,Oop,Coding Style,Setter,换句话说,当您为一个类(如我下面给出的示例)编写一个mutator时,它是否应该返回bool,以便主程序可以确认实例变量已更新,或者这是一个不必要的健全性检查?是否有任何标准建议这是您应该做的,或者该标准是否建议您应该使用一个void mutator,以便不向主程序返回任何内容?或者这个问题仅仅取决于程序员 例如,我应该使用像这样的变异子吗 public boolean changeString (String newValue) { if (newValue != NULL) {

换句话说,当您为一个类(如我下面给出的示例)编写一个mutator时,它是否应该返回bool,以便主程序可以确认实例变量已更新,或者这是一个不必要的健全性检查?是否有任何标准建议这是您应该做的,或者该标准是否建议您应该使用一个void mutator,以便不向主程序返回任何内容?或者这个问题仅仅取决于程序员

例如,我应该使用像这样的变异子吗

public boolean changeString (String newValue) {
  if (newValue != NULL) { 
    someString = newValue; 
    return true;
  } 
  else {
    return false;
  } 
}
或者我应该使用这样的变异因子

public void changeString (String newValue) {
  if (newValue != NULL) { 
    someString = newValue; 
  }
}

他可能会问,是否建议setter返回一个布尔值,以指示该值是否已实际更改。事实上,这就是我所问的问题,对于有限的示例,这似乎是一个问得不好的问题……希望这样更好@约翰库格尔马纳威,虽然现在的问题更好了,但主要还是意见问题。这实际上取决于API/应用程序的设计。如果提供的值无效,您当然应该抛出一个这样的异常,而不仅仅是弱返回“false”并允许调用方忽略它。如果值没有改变,一些变异子返回false,但实际上这通常被忽略,因为您通常不关心。