H42*_*H42 0 java generics polymorphism casting generic-programming
我有MyClass并且我想同时调用mySubMethod(key)和mySubMethod2(key)整数,但只调用mySubMethod2(key)非整数。
我试过下面的代码,但不起作用。我也试图改变K == int别的东西,例如K == Integer,K.equals(int)和K.equals(Integer)等,但他们都没有工作。我该如何解决?谢谢。
public class MyClass<K,V> {
public boolean myMethod(K key) {
if (K == int) {
mySubMethod(key);
}else {
// do nothing
}
mySubMethod2(key);
return false;
}
public void mySubMethod(K key) {
/** something */
}
public void mySubMethod2(K key) {
/** something */
}
}
Run Code Online (Sandbox Code Playgroud)
使用关键字instanceof:
if (key instanceof Integer) {
//...
}
Run Code Online (Sandbox Code Playgroud)
此外,您可以删除空else语句并仅使用 if 语句:
if (key instanceof Integer) {
mySubMethod(key);
}
Run Code Online (Sandbox Code Playgroud)