在我的项目中,我有一个抽象的自定义对象:
public abstract class CustomObject {
//abstract class goodness
}
在另一个类中,我使用了一些扩展CustomObject的不同类,并且正在编写一个方法,该方法可以将特定的类扩展为参数,填充公共字段,然后将其作为结果反出。
该方法现在看起来像这样:
public <T> T setCommonProperties( Class<T extends CustomObject> clazz, Identifier ident ) {
CustomObject populate = clazz.newInstance();
//populate populate
}
这看起来与我在搜索互联网时发现的内容一致,但是eclipse将extends
标记为不正确。当我将鼠标悬停在扩展上时,它会给我Syntax error on token "extends", , expected
。
有没有人知道为什么eclipse会这样做?
答案 0 :(得分:2)
这是一个Java错误; Eclipse正确地将其标记为错误。您的代码具有不正确的Java泛型语法。 extends
上限属于开头的声明,而不是类型参数的使用。尝试
public <T extends CustomObject> T setCommonProperties( Class<T> clazz, Identifier ident )