繁体   English   中英

Eclipse无法识别传递扩展的泛型类

[英]Eclipse not recognizing passing an extended generic class

在我的项目中,我有一个抽象的自定义对象:

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
}

这看起来与我在互联网上找到的东西是正确的,但是日食将这些extends标记为不正确。 当我将鼠标悬停在扩展上时Syntax error on token "extends", , expected它会给我Syntax error on token "extends", , expected

有谁知道为什么日食会这样做?

这是一个Java错误。 Eclipse正确地将其标记为错误。 您的代码具有不正确的Java泛型语法。 extends上限是开头的声明,而不是type参数的使用。 尝试

public <T extends CustomObject> T setCommonProperties( Class<T> clazz, Identifier ident )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM