1

如果这个问题看起来很简单,请原谅我,我对 java 很陌生:) 我在尝试将通用接口作为我的方法的参数时遇到未经检查的对转换器(T)警告的调用和未经检查的方法调用,将不胜感激任何帮助旋转警告

我有一个带有 2 个类型参数的通用接口,它有一个抽象方法,可以简单地从 T 类型转换为 U 类型

Public interface Transformer<T, U> { abstract U transform(T t); }

我试图创建一个实现下面的 Transformer 接口的类

public class LastDigitsOfHashCode<T> implements Transformer<T, Integer>  {
    private final int i;

    public LastDigitsOfHashCode(int i) {
        this.i = i;
    }

    public Integer transform(T t) {
        int a = (int) Math.pow(10, this.i);
        return Math.abs(t.hashCode() % a);
    }
}

但是现在当我想在另一个名为 Box 的类中创建另一个方法时遇到问题,该类将 Transformer 接口作为参数将对象从 T 型转换为 U 型,存在未经检查的对转换器(T)的调用警告和我未能解决的未经检查的方法调用。Box 类是一个泛型类,并且有一个 T 类型的参数 (this.t)

    public <U> Box<U> map(Transformer<T, U> trans) {
        return new Box<U>(trans.transform(this.t));
    }

请帮忙,真的不知道如何解决警告或如何正确实施该方法,谢谢!

4

0 回答 0