转换泛型变量java

杰瑞德(Jared)

我目前不确定如何在不将其转换为整数的情况下对通用变量进行数学运算。强制转换泛型变量不会击败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等)可以使用它?

谢谢。

巴里SW19

最好的方法是使接口采用任何类型,并且实现使用特定类型:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章