我想用另外两个参数来对类进行参数化,以便我可以独立提供其中之一,即AdGroupIdentifier或KeywordIdentifier。但是我收到以下警告:The type parameter KeywordIdentifier is hiding the type KeywordIdentifier.

你认为我做错了吗?正确的做法是什么?

谢谢你的帮助!

public class Metrics <T extends AdGroupIdentifier, KeywordIdentifier> {

    public void addMetric(T identifier){ .... }

    }

最佳答案

看来您有一个名为KeywordIdentifier的类。名为KeywordIdentifier的类参数与具有相同名称的类无关,但可能使人类感到困惑。这正是编译警告的含义。

BTW根据命名约定,您应该倾向于使用一个(或最多2个)大写字母来调用type参数。在您的情况下,将类定义更改为

public class Metrics <T extends AdGroupIdentifier, K>


或者,如果您希望seconds参数扩展类KeywordIdentifier

public class Metrics <T extends AdGroupIdentifier, K extends KeywordIdentifier>

关于java - Java参数化类警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23735104/

10-10 10:35