【发布时间】:2017-11-29 02:12:19
【问题描述】:
我有一个带有泛型方法的类 TestClass。但是当我运行 带有这些参数的method1可以正常执行。 我错过了什么吗?由于对象没有扩展 Integer,method1 是否应该抛出异常?
TestClass i = new TestClass();
i.method1(new Object(), new Integer(2));
public class TestClass {
protected final int testClassvar1=2;
public <E,T extends E> void method1(T t,E e) {
System.out.println(e.getClass());
}
}
【问题讨论】:
-
仍然对此感到困惑,但与此同时this might help you
-
似乎唯一的方法是定义
TestClass<E>,然后在方法的类型签名中只放<T extends E>,尽管我仍然完全不知道为什么你的代码没有'不会导致编译器死机... -
您没有提供仿制药的信息。使用
i.<Object, Integer>method1()否则它将假定 -
@SungJinSteveYoo 哦,聪明的我现在明白了。是的,我今天也学到了一些新东西,事实证明。 :D