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

T表示使用泛型的对象类型。

无论调用x中的类型是什么set,该set方法都将返回相同的类型。在get调用中,返回类型T也是 。该类型必须在其他地方定义,可能在类的类型中,它可能显示为<T>.

因此,如果这是一个属于某种集合的类(因为它正在处理索引),它可能被定义为:

public class SomeCollection<T> {

然后它可能会像这样被实例化:

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

在这种情况下,T将会是String,and 方法的返回类型get,以及参数set的类型,都将是。setxString

如果它被实例化为:

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

然后T是一个Integer

您可以在相同的代码中同时拥有两者,而无需编写两个(或更多)不同版本的SomeCollection.

于 2013-11-09T20:45:53.620 回答