在java中,您可以使用反射来获取表示类中所有修饰符的整数。例如:在Java中比较修饰符
public final class Foo{}
Foo.getClass().getModifiers();//returns 17 because public=1 and final=16
我的问题是,什么是最好的方法来比较两个类的修饰符?比方说,我们有另一个类:
private class Bar{}
Bar.getClass().getModifiers();//returns 2 because private=2
现在简单的方法是将有一吨IFS说modifier.isAbstract,modifier.isPublic等。但有一个更清洁的方式做到这一点?
编辑:最后我想要两个列表。一个说Foo有那个Bar没有的东西,另外一个说Bar是什么,Foo没有。所以在这个特殊的情况下,我想:
FooHasBarDoesnt: public, final
BarHasFooDoesnt: private
完全忘了'toString()'。你是对的,这正是我所寻找的。 –