是否可以在 Java 接口中有两个不同的泛型类型(例如 T)?

Is it possible to have two different generic types (such as T) in a Java interface?

我正在为几种不同类型的自定义对象编写一个代表处理器的通用接口,每个自定义对象都由字符串 ID 或整数 ID 标识。我以一种方式编写它,其中 T 代表我的自定义对象(它们都继承自相同的抽象 class),但我也需要将 ID 作为一般参数。有没有办法在 Java 中的单个 class 中包含两个泛型类型?

我试着在下面写下我想做的最简单的例子。 "String/Integer"表示两种可能的ID类型,具体取决于T是什么。

public interface Processor<T> {

    T update( String/Integer id );

    T find( Integer/Integer id );

    List<T> findAll( List<String/Integer> ids );

}

提前感谢您的任何建议!

是的,你可以有多个通用类型。

public interface Processor<T, S> {
    T update( S id );
    T find( S id );
    List<T> findAll( List<S> ids );
}