【问题标题】:Are default parameter values supported by Java? [duplicate]Java 是否支持默认参数值? [复制]
【发布时间】:2012-12-01 15:05:37
【问题描述】:

可能重复: Does Java support default parameter values?

假设我想在 C++ 中设置默认参数值,那么我们可以如下表示。

void functionName(char *param1, int param2=2);

但是如果我想用 Java 做这个,那有可能吗?目前我正在做如下

public functionName(String param1)
{
    this(param1, 2);
}

public functionName(String param1, int param2)
{
..........
}

【问题讨论】:

  • 当您回答问题时,右栏会提示可能的重复项。发帖前请检查。

标签: java methods parameters overloading default-value


【解决方案1】:

Java中是不可能的,但是我们可以使用Builder Pattern,也就是this Stack Overflow answer

如答案参考中所述,构建器模式可让您编写类似的代码

Student s1 = new StudentBuilder().name("Eli").buildStudent();
Student s2 = new StudentBuilder()
                 .name("Spicoli")
                 .age(16)
                 .motto("Aloha, Mr Hand")
                 .buildStudent();

其中一些字段可以有默认值或者是可选的。

【讨论】:

    【解决方案2】:

    没有。 Java 不支持此功能。

    Does Java support default parameter values?

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 2015-12-10
      • 2013-01-17
      • 2021-12-22
      • 2011-07-22
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      相关资源
      最近更新 更多