0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

javaの可変長引数に関する注意点[備忘録]

Last updated at Posted at 2023-02-15

初投稿です。

Javaのプログラミング資格で学習中で気づいたことに、備忘録として残します。
コード解読してから、java APIで該当のメソッドを調べたときに、メソッドがなかなか見つからない、そんな時、以下の場合があるかもしれません。

今後も追加情報があれば、更新致します。

メソッドの定義側の引数
1.可変長引数のみ
2.固定長引数のみ
3.固定長引数と可変長引数
の3パターンでオーバーロードされているtest1メソッドに対して、
呼出側で
1.引数なし
で呼び出した場合の挙動。

続いて、
メソッドの定義側の引数
3.固定長引数と可変長引数
呼出側で
1.固定長引数のみ
で呼び出した場合の挙動。

についてコードで整理しました。

A.java
public class A {
  public static void main(String[] args) {
    A a = new A();
    System.out.println(a.test1());//test1 Object... args
    System.out.println(a.test2("test2"));//test2 String s, Object args
  }

  String test1(Object... args) {
    return "test1 Object... args";
  }
  String test1(String s) {
    return "test1 String s";
  }
  String test1(String s, Object... args) {
    return "test1 String s, Object... args";
  }

  String test2(String s, Object... args) {
    return "test2 String s, Object args";
  }
}



0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?