簡體   English   中英

檢查類是否屬於某種類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM