
究其原因,这是编译因为Java会推断出参数的最具体的超传入,在这种情况下,后是盒装,以和为传递。 Object
Serializable &Comparable<? extends Serializable & Comparable<? extendsComparable<?>>>``1``Integer``"1"``String
没有泛型:
private static void method(Number arg1, Number arg2) {即使没有泛型,也可以传入
Integer和
Double。
只有所涉及的类型是
final,您才能在没有泛型的情况下执行此 *** 作:
private static void method(String arg1, String arg2) { // Yes, they're both Strings, guaranteed.我可以考虑使用泛型的一种极端情况,以确保它们是准确的类型。如果您有一个
final班级,并且设置了一个上限,则可以将其限制为同一班级。
public <T extends MyFinalClass> void method(T arg1, T arg2) { // Yes, they're both MyFinalClasses}但是,如果没有泛型,您可以做同样的事情。
public void method(MyFinalClass arg1, MyFinalClass arg2) { // Yes, they're both MyFinalClasses}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)