我有一个 Foo 类,它可以处理某种类型的变量。我想将这种类型限制在我拥有的几个课程中。这些类已经实现但没有任何继承关系。编写一个空接口 Type,然后将“实现类型”添加到作为泛型参数 T 的可接受类型的所有类是否有意义。
这意味着你会得到这样的东西:
public class SuperFoo() {
//Some code
}
public class Foo<T extends Fooable> extends SuperFoo {
private T acceptedObject;
private String name;
public Foo(String name, T acceptedObject) {
this.name = name;
this.acceptedObject = acceptedObject;
//Some code
}
}
public interface Fooable {}
public class FooableClass1 implements Fooable { //Objects of this class will be accepted as T
public FooableClass1() {}
//Some code
}
public class FooableClass2 implements Fooable { //Object of this class will …Run Code Online (Sandbox Code Playgroud)