如何理解Java泛型的这种用法

尼古拉斯·R:

在我的学习书中,有以下示例:

import java.util.*;
public class RentalGeneric<T> {

  private List<T> rentalPool;

  private int maxNum;
  public RentalGeneric(int maxNum, List<T> rentalPool) {

  this.maxNum = maxNum;
  this.rentalPool = rentalPool;
}
public T getRental() {
  return rentalPool.get(0);
}
  public void returnRental(T returnedThing) {
    rentalPool.add(returnedThing);
  }
}

我发现它可以编译很奇怪,因为没有的定义Class<T>这是什么故事?它在我的书中说T是用于类型参数的,但是我怎么知道何时使用它呢?

迈克尔·拉法格(Michael Laffargue):

您可以使用它来租汽车,自行车...您可以像这样直接使用它:

RentalGeneric<Car> carRental = new RentalGeneric<Car>(10, aList);

然后,当您执行getRental操作时,它将返回一个Car对象。而你就可以把回CarreturnRental(aCar);

或者您可以创建一个CarRental扩展类RentalGeneric<Car>

您想租用的任何物品都可以使用相同的东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章