class - 获取接口本身的名称而不是扩展类的名称
问题描述
我在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”作为包含的类名。
如果有人可以提供帮助,我会很高兴
解决方案
推荐阅读
- javascript - 在 Angular HTTP PUT 的请求正文中传递原始数据类型
- node.js - 如何从静态服务器提供裸 git repos?
- makefile - CMake:如果自定义命令无法创建输出之一,则失败
- android - “com.android.support:appcompat-v7:28.0.0”错误
- c# - 从可枚举加载时映射输入列
- php - 在 laravel 中对视图进行单元测试?
- c++ - C++ - 为什么我在 if-else-statement 中的 else-statement 被忽略?
- python - 如何将 cloudwatch 目标输入作为参数传递给 Lambda 函数
- php - 如何通过 php 类中的私有函数检查变量是否存在?
- delphi - Button.Update 在 Delphi 中究竟做了什么?