【问题标题】:Best way to set default value for javabean [closed]为javabean设置默认值的最佳方法[关闭]
【发布时间】:2018-01-10 05:48:14
【问题描述】:

我有一个这样的javabean:

public class Foo {
    private String bar;

    ...getter/setter...

}

然后我想这样设置值:

if (foo.getBar() == null) {
    foo.setBar("def");
}

有没有更简单的方法呢? 例如:

callIfNull(foo.getBar(), foo.setBar("def");

【问题讨论】:

  • if 子句已经很简单了。
  • 你可以使用构造函数指令来做同样的事情..

标签: java java-8


【解决方案1】:

只要声明为

private String bar = "def";

如果有人调用了setter,它将被覆盖,否则这将是默认值。

【讨论】:

【解决方案2】:

你在 Java 中有一个 默认构造函数,我总是推荐使用它。将所有字段的默认值定义为非空值是很有价值的。通过定义默认构造函数,您声明 bean 的实例将以默认方式初始化,具有非空特性。

public class Bean {
  private int foo;
  private String bar;

  public Bean() {
    this(0, "");
  }

  public Bean(int foo, String bar) {
    this.foo = foo;
    this.bar = bar;
  }
...
// + getters and setters

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 2012-08-10
    • 2020-07-01
    • 1970-01-01
    • 2016-12-22
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多