java - 使用多个通用边界时编译错误

标签 java generics

我试图定义一个泛型方法,它的参数被两种类型绑定(bind),但它似乎不起作用:

public static <T extends Readable, Appendable> void doSomething(T t) {
    int r = t.read(...); // compiles OK
    //
    t.append(...); // compile error
}

这应该编译。谁能看出我做错了什么?

最佳答案

问题是该方法定义了两个参数,一个称为T,一个称为Appendable,而不是一个参数有两个边界。

逗号应该是一个和号,像这样:

public static <T extends Readable & Appendable> void doSomething(T t) {
    //
}

关于java - 使用多个通用边界时编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20700061/

相关文章:

java - 在类似图形的对象中查找循环

具有继承类型问题的 Java Builder

c# - 将十进制列表转换为由分隔符 (',' 分隔的字符串)

特定基类的 C++ 类模板

c# - 存储派生对象的泛型类列表

java - 如何将 PrintStream 绑定(bind)到 System.out 和 err 流

java - 使用 JDBC 绑定(bind)函数调用

java - 桨游戏中的 move() 方法

java - 如何停止限制 JavaFX 文本框上的击键

.net - .net 中泛型的实际使用(框架中的泛型除外)