首页 > 解决方案 > 获取接口本身的名称而不是扩展类的名称

问题描述

我在java中遇到一个问题,我想调用类的名称,这里有两种不同的情况:

情况1:

类/接口Outputdeclaration定义如下:

public interface Outputdeclaration extends _ElementA {

而 _ElementA 定义为:

public interface _ElementA extends EObject {

在这里,当使用以下代码行时,我得到“Outputdeclaration”作为包含类的名称:

for (int i = 0, size = MetaObject.getEAllContainments().size(); i < size; ++i) {

    EClassifier ContainedClass = MetaObject.getEAllContainments().get(i).getEType();

    System.out.println(ContainedClass.getName());

}

案例2:

类/接口 FloatingPoint 定义如下:

public interface FloatingPoint extends DataTypeA {

而 DataTypeA 定义为:

public interface DataTypeA extends _ElementA {

和 _ElementA 定义为:

public interface _ElementA extends EObject {

在这里,当使用以下代码行时,我得到“DataTypeA”作为包含类的名称:

for (int i = 0, size = MetaObject.getEAllContainments().size(); i < size; ++i) {

    EClassifier ContainedClass = MetaObject.getEAllContainments().get(i).getEType();

    System.out.println(ContainedClass.getName());

}

第一个案例非常适合我想要得到的东西。但是第二种情况不是我想要的,实际上我希望将“FloatingPoint”作为包含的类名。

如果有人可以提供帮助,我会很高兴

标签: classinterface

解决方案


推荐阅读