检查一个对象是否是任意一个类列表的实例 (Android)

Zur*_*rvæ 6 java android

我已经研究这个有一段时间了,虽然它并不重要,但我想知道是否有一种简洁的方法(也许是 1 个衬垫)可以用来检查一个对象是否是多个类中任何一个的实例, 我可以做:

if(anObject instanceof Pupil){ ... } 
else if(anObject instanceof Teacher) { ... }
Run Code Online (Sandbox Code Playgroud)

等等等等。有没有更好的方法来做到这一点,或者这是否像我想要的那样好?

Kay*_*man 5

制作您选择的对象并Collection...Class

if(myClasses.contains(obj.getClass())) {
   // obj is one of the classes I care about, so do something
}
Run Code Online (Sandbox Code Playgroud)

当然,如果您打算obj事后进行转换,这不会有帮助(但正如我在评论中所说,这表明存在设计问题)。