泛型Java方法的泛型类型可以用于强制参数的类型吗?

15 浏览
0 Comments

泛型Java方法的泛型类型可以用于强制参数的类型吗?

我想使用泛型来确保方法的参数是相同类型的,就像这样:

public static  void x(T a, T b)

我原以为传递给这个方法的两个参数(a和b)必须始终是相同类型的。但令我惊讶的是,我能够传递任何类型的参数(甚至是基本类型)给方法x,就好像T被擦除为Object一样,不管传递了什么参数。

到目前为止,我找到的唯一解决方法是使用'extends',就像这样:

public static  void x(T a, U b)

但虽然我可以接受这种方式,但这不是我想要的。

是否有一种方法可以使用泛型来强制方法的所有参数都是相同类型的?

0