我目前不确定如何在不将其转换为整数的情况下对通用变量进行数学运算。强制转换泛型变量不会击败Java中的泛型对象吗?
超级班:
public interface someClass {
public <E> boolean test(E object);
}
问题类别:
public class isOdd implements someClass {
public <E> boolean test(E object) {
if ( (object % 2) == 0) {
return false;
}
else {
return true;
}
}
}
我不确定如何添加上限或通配符以确保对象是Integer。有没有一种方法可以更改超类的泛型方法,以便其他类型(如String等)可以使用它?
谢谢。
最好的方法是使接口采用任何类型,并且实现使用特定类型:
public interface SomeClass<E> {
public boolean test(E arg);
}
public class IsOdd implements SomeClass<Integer> {
@Override
public boolean test(Integer arg) {
return arg % 2 == 1;
}
}
然后可以实例化它:
SomeClass<Integer> realTestClass = new IsOdd();
boolean result = realTestClass.test(1);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句