我不确定我是否正确使用泛型,但基本上我创建了一个Arraylist<? extends ModuleInfo> moduleList和ModuleInfo m对象,并试图调用moduleList.add(m).但它不会编译,我收到的错误消息对我来说似乎有些神秘.错误消息和代码如下.其他人都知道出了什么问题?
void load() {
ArrayList<? extends ModuleInfo> moduleList = new ArrayList();
Iterator<? extends ModuleInfo> iter_m;
ModuleInfo m;
//get modules that depend on this module
//retrieve list of all modules and iterate trough each one
iter_m = Lookup.getDefault().lookupAll(ModuleInfo.class).iterator();
while(iter_m.hasNext()) {
m = iter_m.next();
//loop through modules dependencies and check for a dependency on this module
for(Dependency d : m.getDependencies()) {
//if found, the module to the list
if(d.getName().equals(GmailAuthManager.class.getPackage().getName())) {
moduleList.add(m);
break; …Run Code Online (Sandbox Code Playgroud)