【问题标题】:How to know the class passed as parather to the extended abstract class [duplicate]如何知道作为参数传递给扩展抽象类的类[重复]
【发布时间】:2016-05-24 18:59:54
【问题描述】:

我有一个名为 NewsDAO 的类,它扩展了抽象类 AbstractDAO 并将类 News 作为参数传递给它。

public class NewsDAO extends AbstractDAO<News> {
}

我需要一个方法来知道,从所有名为***DAO的类开始,类的类型作为参数传递给AbstractDAO

我挣扎了一段时间,但我没有找到方法。

谢谢

【问题讨论】:

  • 我可以说反射可以做到这一点,但我不确定,你能发布你所有的课程代码

标签: java parameters abstract-class


【解决方案1】:

你可以通过这种方式得到你要扩展的类的全名:

String fullExtendedClassName = this.getClass().getGenericSuperclass()
            .toString();

然后你只需要格式化你的字符串并获取''之间的信息

String extendedClassName = fullExtendedClassName.substring(fullExtendedClassName.
indexOf("<") + 1, fullExtendedClassName.indexOf(">"));

希望对你有帮助。

【讨论】:

  • getActualTypeArguments 是你的朋友,不是吗?
猜你喜欢
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
  • 2014-12-27
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多