1 回答

TA貢獻1853條經驗 獲得超6個贊
嘗試:
import dreambot.libs.Library;
public class Helper<T extends Library> {
private T lib;
private Class<T> name;
public Helper(Class<T> name, Library lib) {
this.name = name;
this.lib = lib;
}
public Class<T> getName() { return name; }
public T getLib() {
return lib;
}
}
甚至更簡單:
import dreambot.libs.Library;
public class Helper<T extends Library> {
private T lib;
public Helper(Library lib) {
this.lib = lib;
}
public Class<T> getName() { return lib.getClass(); }
public T getLib() {
return lib;
}
}
并且在調用構造函數時不要忘記鉆石運算符:
public ArrayList<Helper> helper = new ArrayList<>(asList(
new Helper<>(SomeLib.class, new SomeLib()),
new Helper<>(SomeOtherLib.class, new SomeOtherLib())
));
可以簡化為:
public ArrayList<Helper> helper = new ArrayList<>(asList(
new Helper<>(new SomeLib()),
new Helper<>(new SomeOtherLib())
));
添加回答
舉報