找出某个对象是否是在某个其他类中创建的?

时间:2014-07-21 22:10:10

标签: java

public class Ability{

    ItemStack i;

    public Ability(ItemStack i){
        this.i = i;
    }
}

public class OtherClass{

    onEvent(Event e){
        if(e.getItemStack() is an ItemStack from the Ability class){
            //do stuff
        }
    }
}

你希望注意到这是伪代码,但它代表了我想要实现的目标。这将转变我的真正重要的转换声明,它也将我的项目与Java 7的依赖联系起来,使其更加简洁和多样化。我需要一种方法来查找通过我的事件监听器传递的ItemStack对象是否来自我的Ability类。

1 个答案:

答案 0 :(得分:0)

简单的方法是Event类有一个源元素,就像Swing事件类一样,ex http://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html#getSource()

但是试着找出一个解决方案,其中事件处理程序将独立于源。 通常有一种更好的方法,可以避免听众和来源之间的这种耦合......