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是什么。我不知道如何搜索这个,因为我不知道它叫什么或它的目的。 我想知道是否有人可以向我展示一篇关于此的文章或一些信息。谢谢
答案 0 :(得分:1)
T
表示使用generics的对象类型。
x
调用中的set
类型无关,set
方法将返回相同的类型。在get
调用中,返回类型也是T
。该类型必须在其他地方定义,可能在类的类型中,它可能显示为<T>
。
因此,如果这是一个类是某种集合(因为它处理索引),它可能被定义为:
public class SomeCollection<T> {
然后它可能会被实例化为:
SomeCollection<String> arr = new SomeCollection<String>();
在这种情况下,T
将是String
,get
和set
方法的返回类型以及set
参数的类型{ {1}},都是x
。
如果它被实例化为:
String
然后SomeCollection<Integer> arr = new SomeCollection<Integer>();
是T
。
您可以使用相同的代码,而无需编写两个(或更多)不同版本的Integer
。