java的泛型问题该如何写

该泛型类如何写呢?

static class  PriorityCallable implements Callable, Comparable<PriorityCallable> {

    private final int priority;

    private final Callable callable;

    public  PriorityCallable(int priority, Callable callable) {
        this.priority = priority;
        this.callable = callable;
    }

    @Override
    public int compareTo(PriorityCallable other) {
        return Integer.compare(other.priority, this.priority);
    }

    @Override
    public  T call() throws Exception {
        return callable.call();
    }
}

我是懵了!
PriorityCallable < int, T> ?
Callable ?
Comparable<PriorityCallable<int, T>>?
T call() ?

可以这样参考下

public class PriorityCallable<T> implements Callable<T>, Comparable<PriorityCallable> {
 
    private final int priority;
 
    private final Callable<T> callable;
 
    public  PriorityCallable(int priority, Callable<T> callable) {
        this.priority = priority;
        this.callable = callable;
    }
 
    @Override
    public int compareTo(PriorityCallable other) {
        return Integer.compare(other.priority, this.priority);
    }
 
    @Override
    public  T call() throws Exception {
        return callable.call();
    }
}