Java Collection Framework で<T>
署名の重要性を誰かが説明できますか
<T> T[] toArray(T array[]).
私はそれ<T>
がジェネリックを表していることを知っています。しかし、例に基づいた詳細な説明は大いに役立ちます。
Java Collection Framework で<T>
署名の重要性を誰かが説明できますか
<T> T[] toArray(T array[]).
私はそれ<T>
がジェネリックを表していることを知っています。しかし、例に基づいた詳細な説明は大いに役立ちます。
このメソッドを使用すると、必要なタイプの配列を作成できます。デフォルトの 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[]
これは<T>
、Java が「次のメソッド宣言で、.T
T
例えば:
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 ではないためではありません。