如何使用泛型创建autovalue类?

pzfprimi  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(201)

我想有一个数据类使用autovalue和一个属性是泛型,不知道我做错了什么?

public abstract class Data<T> {

    public static <T> Data createData(T value, Integer index) {
        return new AutoValue_Data<T>(value, index);
    }

    @NotNull
    public abstract T value();

    @NotNull
    public abstract Integer index();
}
gj3fmq9x

gj3fmq9x1#

如果在数据之后忘记了泛型t,则代码应为:

public abstract class Data<T> {

    public static <T> Data <T> createData(T value, Integer index) {
        return new AutoValue_Data<T>(value, index);
    }

    @NotNull
    public abstract T value();

    @NotNull
    public abstract Integer index();
}
cx6n0qe3

cx6n0qe32#

您的代码看起来应该可以正常工作,其中一行应该修复警告:

public static <T> Data createData(T value, Integer index) {

应该是

public static <T> Data<T> createData(T value, Integer index) {

相关问题