6

重複の可能性:
Java はデフォルトのパラメーター値をサポートしていますか?

このようなことをすることは可能ですか

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

PHPのように。str を指定しないと、空になります。PHPでは可能ですが、JAVAではエラーが発生します。または、ここでの唯一の解決策は、このような 2 つのメソッドを作成することですか?

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

5 に答える 5

4

正確には、次の方法以外に選択肢はありません。

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

private void function(Integer[] a) {
    function(a, "");
}
于 2012-08-31T14:16:16.540 に答える
1

メソッドを宣言しますvar agrs

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

var args は常にメソッドの最後の引数であることを忘れないでください。

于 2012-08-31T14:19:03.433 に答える
0

はい、2 番目の方法を使用する必要があります。

private void function(Integer[] a, String str)
private void function(Integer[] a)
于 2012-08-31T14:16:09.510 に答える
0

可変長のメソッド引数 listを使用しない限り、これが実際にそのようなことを達成する唯一の方法です。

例:

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

  for( String s : str )
  {
    System.out.println("String: " + s);
  }
}
于 2012-08-31T14:16:20.827 に答える
0

この投稿に似ています:

Java はデフォルトのパラメータ値をサポートしていますか?

Java はこの機能を処理しません。

于 2012-08-31T14:16:58.573 に答える