On peut donner comme paramètre à la classe une classe de type arbitraire.
Par convention, on utilise qu'une seule lettre pour ce type arbitraire
public class Obj<T> {
private final T t;
public Obj(T t) { this.t = t; }
}Java nous empêche ensuite de faire du transtypage fallacieux en construisant cette classe.