0
T get(int i) {
    if (i < 0 || i > n - 1) throw new IndexOutOfBoundsException();
    return a[i];
}
T set(int i, T x) {
    if (i < 0 || i > n - 1) throw new IndexOutOfBoundsException();
    T y = a[i];
    a[i] = x;
    return y;
}

教科書からいくつかのコーディング例を調べていますが、T が何であるかについては言及されていません。名称や目的がわからないので、どう検索したらよいかわかりません。誰かが私にこれに関する記事や情報を見せてくれるかどうか疑問に思っていました. ありがとうございました

4

1 に答える 1

1

Tgenericsを使用してオブジェクト型を表します。

呼び出しに含まれる型xが何であれ、メソッドは同じ型を返します。呼び出しでは、戻り値の型もです。その型は、おそらくクラスの型で、別の場所で定義する必要があります。setsetgetT<T>

したがって、これがある種のコレクションであるクラスである場合 (インデックスを扱っているため)、次のように定義できます。

public class SomeCollection<T> {

次に、次のようにインスタンス化される場合があります。

SomeCollection<String> arr = new SomeCollection<String>();

その場合、Tは になり、 andメソッドStringの戻り値の型とパラメータの型はすべて になります。getsetsetxString

次のようにインスタンス化された場合:

SomeCollection<Integer> arr = new SomeCollection<Integer>();

TですInteger。_

2 つ (またはそれ以上) の異なるバージョンのSomeCollection.

于 2013-11-09T20:45:53.620 に答える