【发布时间】:2023-03-22 01:24:01
【问题描述】:
假设我有以下课程:
public class Test<E> {
public boolean sameClassAs(Object o) {
// TODO help!
}
}
如何检查o 是否与E 相同?
Test<String> test = new Test<String>();
test.sameClassAs("a string"); // returns true;
test.sameClassAs(4); // returns false;
我无法从 (Object o) 更改方法签名,因为我正在覆盖超类,因此无法选择我的方法签名。
我也不想继续尝试强制转换,然后在失败时捕获产生的异常。
【问题讨论】: