在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