private void函数(Integer[]a,String str=“”)类似于PHP


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

可能重复:
Java支持默认参数值吗?

有可能做这样的吗

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

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

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

当然,除了,没有其他选项

private void function(Integer[] a, String str) {
    // ...
}
private void function(Integer[] a) {
    function(a, "");
}

var agrs 声明您的方法

private void function(Integer[] a, String... s)

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

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

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

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

示例:

private void function(Integer[] a, String... str) {
  for( String s : str )
  {
    System.out.println("String: " + s);
  }
}

类似于这篇文章:

Java支持默认参数值吗?

Java无法处理此功能。