1

Java Collection Framework で<T>署名の重要性を誰かが説明できますか

<T> T[] toArray(T array[]).

私はそれ<T>がジェネリックを表していることを知っています。しかし、例に基づいた詳細な説明は大いに役立ちます。

4

2 に答える 2

4

このメソッドを使用すると、必要なタイプの配列を作成できます。デフォルトの toArray() は Object[] を返しますが、これは String のリストがあり、そこから String[] が必要な場合は面倒です。

例えば:

List<String> list = new ArrayList<>();        
list.add("A");

String[] listToArray;
listToArray = list.toArray(); // This won't compile as to Array gives Object[]

listToArray = list.toArray(new String[list.size()]); // This works when I want String[]
于 2012-07-04T06:58:35.043 に答える
2

これは<T>、Java が「次のメソッド宣言で、.TT

例えば:

class T {
    public int x;
}

<T> T f(T x) { return x; }

T g(T x) { return new T(); }

メソッドfは任意の型 ( などString)の引数で使用できますが、上記で定義されgたクラスの引数のみを渡すことができます。Tつまり、呼び出すことができます

f("dog")

ただしg("dog")、文字列が T ではないためではありません。

f と g の使用方法を示す ideone の実行可能な例。

于 2012-07-04T07:05:04.690 に答える