【问题标题】:Is it possible to have two different generic types (such as T) in a Java interface? [duplicate]Java 接口中是否可以有两种不同的泛型类型(例如 T)? [复制]
【发布时间】:2019-09-11 03:23:47
【问题描述】:

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

我试图在下面写出我想要做的最简单的例子。 “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 );

}

提前感谢您的任何建议!

【问题讨论】:

  • 似乎问题不同,但接受的答案肯定重叠。谢谢高拉夫

标签: java generics interface implements


【解决方案1】:

是的,您可以拥有多种泛型类型。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多