【问题标题】:Getting class param in non-extended form以非扩展形式获取类参数
【发布时间】:2013-04-22 01:28:46
【问题描述】:

我有一个函数,比如说:

 public void doWhatever(ExtendedClass class) {}

哪个类参数是一个类,比如说:

 public class SomeClass extends ExtendedClass {}

如何在我要求“ExtendedClass”的函数中获取“SomeClass”名称?

【问题讨论】:

  • 意识到我的标题也有语法错误;很高兴它被删除以抓住尴尬。

标签: java class function extends


【解决方案1】:

您可以使用instanceof 运算符检查它是否是SomeClass 的实例:

public void doWhatever(ExtendedClass cls) {
    if (cls instanceof SomeClass) {
        //do stuff
        SomeClass sCls = (SomeClass)cls; // you can cast it to SomeClass
                                         // once you know that it is one
    }
}

【讨论】:

  • 这不是最通用的解决方案,但它确实有效。谢谢。
【解决方案2】:

我不知道你为什么要这样做,但是:

String className = class.getClass().getSimpleName();

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2021-12-28
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2019-05-17
    相关资源
    最近更新 更多