1
440
瓦拉格斯可以这样做(在某种程度上)。除此之外,必须提供方法声明中的所有变量。如果希望变量是可选的,可以使用不需要参数的签名来重载方法。
|
2
1480
在Java中有几种方法可以模拟可选参数:
请注意,您可以结合这些方法中的任何一种,以获得理想的结果。 |
3
99
您可以使用如下内容:
这个
奇怪的是,我在文档中找不到任何关于这个的信息,但是它是有效的! 这是爪哇1.5和以后的“新”(不支持Java 1.4或更早的版本)。 我看到用户bhoot在下面也提到了这一点。 |
4
95
有Java 5的可选参数。只需这样声明您的函数:
你可以打电话给
|
5
47
在Java中没有可选的参数。您可以做的是重载函数,然后传递默认值。
|
6
47
不幸的是,Java不直接支持默认参数。 但是,我已经编写了一组JavaBean注释,其中一个支持如下默认参数:
注释处理器会生成方法重载,以正确支持这一点。 见 http://code.google.com/p/javadude/wiki/Annotations 完整例子 http://code.google.com/p/javadude/wiki/AnnotationsDefaultParametersExample |
7
21
已经提到varargs和重载。另一种选择是构建器模式,它看起来像这样:
尽管该模式最适合在构造函数中需要可选参数时使用。 |
8
13
在JDK>1.5中,您可以这样使用它;
|
9
8
这取决于您想要实现什么,varargs或方法重载应该解决大多数场景。 下面是一些如何使用它们的好例子: http://blog.sleekface.com/in/java-core/method-with-optional-parameters/ 但请记住不要过度使用方法重载。这会带来混乱。 |
10
6
短版:使用 三点 :
(基于@vitalifedorenko的答案) |
11
4
您可以使用这样的方法重载来完成这项工作。
也可以使用@nullable注释
只需将空值作为第一个参数传递。 如果传递的是同一类型变量,则可以使用
|
12
2
重载是可以的,但是如果有很多变量需要默认值,那么最终会得到:
所以我建议使用Java提供的变量参数。 这里有一个 link 为了解释。 |
13
1
Java现在支持OpTales在1.8,我在Android上停留在编程上,所以我使用Null直到我可以重构代码来使用可选类型。
|
14
1
您可以使用类似于生成器的类来包含这样的可选值。
类使用
输出是
要跳过所有可选值,您必须像这样调用它
使用这种方法,您可以按任意顺序指定可选值,而不会产生任何歧义。与varargs不同,您还可以拥有不同类的参数。如果可以使用注释和代码生成来创建选项类,这种方法会更好。 |
15
0
我们可以通过方法重载或使用数据类型来设置可选参数… |*|方法重载:
最简单的方法是 |*|数据类型…可以是可选参数
|
16
0
缺省参数不能用于爪哇和C.*。在C++和Python中,我们可以使用它们。 在Java中,我们必须使用2个方法(函数),而不是使用默认参数的方法。 例子:
|
Alvaromon · 如何在C#[重复]中传递作为结构的可选参数 7 年前 |
Bharath M Shetty · 如何一次将所有默认参数值设置为无 7 年前 |
shle2821 · Swift期权(?)。两者之间有什么区别? 9 年前 |
Mantas · PHP混乱检测器可选参数 10 年前 |
Adam · 调用带有可选参数的方法最具Python风格的方法是什么? 11 年前 |