如何创建包含Java类层次结构的dict(在Python中)?

2024-05-29 02:10:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为Java创建一个类图抽屉,我需要查看标准Java类,以检查两个类是否有共同的祖先(一些附加特性)。我正在考虑创建一个包含类层次结构的dict,但是我不知道如何创建它。我发现的第一件事是从文本文件创建它,它将使用那里的信息:http://docs.oracle.com/javase/6/docs/api/allclasses-frame.html。但我不认为这是最好的解决办法。还有其他想法吗?你知道吗


Tags: comapi信息httpdocs标准层次结构特性
1条回答
网友
1楼 · 发布于 2024-05-29 02:10:46

使用jython实现这些目的。你知道吗

用jar文件或类文件夹启动jython 类路径。你知道吗

然后做下一步:

#    import your java package by this way
import com.yourcomp.yourpackage as yourpackage 

#   gets superclass
def get_ancestor_4_class( c ):
    if not c or not c.__bases__: return java.lang.Object
    return c.__bases__[0].__name__

#   there all class to ancestor
#   mapping will be placed        
class2ancestor = {}

#   list (generator) of all classes in yourpackage 
yourclasses = (eval('yourpackage.%s' % classname) \
    for classname in dir( yourpackage ))

#    showtime!
for c in yourclasses:
    class2ancestor[ c.__name__ ] = get_ancestor_4_class( c ).__name__

所有你需要的结果都在class2ancestor。你知道吗

相关问题 更多 >

    热门问题