[英]Checking if class is of certain type
我正在嘗試在類中創建一個方法,該方法將Class
作為參數,並檢查當前對象是否屬於該類型。 我有的代碼:
public class MyEvent extends MyBPMNNode {
public boolean isKindOf(Class<?> node) {
boolean b = MyEvent.this instanceof node;
return b;
}
但我編譯它給了我:
Error:(9, 45) java: cannot find symbol
symbol: class node
我在這里做錯了什么? 也許我對“ Class
”班級的理解不正確。
你要:
public boolean isKindOf(Class<?> clazz) {
return clazz.isInstance(this);
}
您可能在node.isAssignableFrom(MyEvent.this)
。
引入泛型沒有特殊原因。 嘗試這個:
public boolean isKindOf(Object node) {
// weak
return node.getClass().isAssignableFrom(getClass());
// stronger, but not appropriate in your case
//return this.getClass().equals(node.getClass());
}
安迪·特納的答案更為簡潔。 對不起。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.