作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
输出始终为In OBJECT
。因为返回类型在所有情况下都是 void。
但为什么它不去 m1(Integer s) 呢?如果没有类型转换,是否可以调用 m1(Integer s)?
package test;
public class test_class {
public static void m1(Integer s){
System.out.println("IN INT");
}
public static void m1(Object s){
System.out.println("IN OBJECT");
}
public static <Integer> void m2(Integer t){
m1(t);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test_class.m2(12);
}
}
最佳答案
我似乎不明白泛型是如何工作的,你以某种方式将它与重载混合在一起。如果您声明泛型方法,则类型参数(在您的情况下为 Integer
)是一个变量(通常为 T
)。在您的情况下,类型参数称为 Integer,它以某种方式干扰/隐藏参数的类型。
只需删除 <Integer>
来自m2
然后你就得到了预期的结果。
关于java - 理解java泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37194193/
我是一名优秀的程序员,十分优秀!