为什么泛型类型不能在静态方法中声明为 return 类型?

Why are generic types unable to be declared as a return type in static methods?

我明白为什么我无法将参数 InterestPoint<M> 传递给第二个方法,因为它是静态的,但是为什么当我尝试将其声明为 return 类型?删除类型参数可以修复此问题,但随后我会收到警告:Raw use of parametrized class 'InterestPoint'.

public record InterestPoint<M>(Coordinate coordinate, M marker) {

    public final InterestPoint<M> validate() {

        return this;
    }

    public static final InterestPoint<M> validate(InterestPoint interestPoint) {

        interestPoint.validate();
        return interestPoint;
    }
}

M泛型类型参数属于实例,而静态方法不属于具体实例,而是属于class。让静态方法return成为泛型的方法就是直接给它加一个类型参数。例如:

public static final <N> InterestPoint<N> validate(InterestPoint<N> interestPoint) {
    interestPoint.validate();
    return interestPoint;
}