关于java:private void function(Integer [] a,String str =“”)就像在PHP中一样

private void function(Integer[] a, String str = “”) like in PHP

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Does Java support default parameter values?

能做这样的事吗

1
private void function(Integer[] a, String str ="")

就像在PHP中一样。如果我不提供str,它将是空的。在PHP中,Java可能会给我带来错误。或者这里唯一的解决方案是创建两个这样的方法?

1
2
private void function(Integer[] a, String str)
private void function(Integer[] a)


很显然,除了以下选项外,没有其他选择:

1
2
3
4
5
6
7
private void function(Integer[] a, String str) {
    // ...
}

private void function(Integer[] a) {
    function(a,"");
}


var agrs声明你的方法

江户十一〔一〕号

记住,var参数应该始终是方法的最后一个参数。


与本帖类似:

Java是否支持默认参数值?

Java不处理这个特性。


这确实是实现这一目标的唯一方法,除了使用变长方法参数列表之外。

例子:

1
2
3
4
5
6
7
private void function(Integer[] a, String... str) {

  for( String s : str )
  {
    System.out.println("String:" + s);
  }
}

是的,你必须使用第二种方法。

1
2
private void function(Integer[] a, String str)
private void function(Integer[] a)