2014-07-21 47 views
0
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類。找出對象是否在某個其他類中創建?

+0

如果解決方案修改Ability類,那麼可以嗎? –

+0

@ import-this讓我們看看你有什麼。我擔心對此的需求意味着我的項目設計不佳...... – r0llingthund3r

+0

如果您需要此類信息,只需使用傳遞給構造函數的參數即可。試圖以某種自動化的方式實現它是一個混亂和不可靠代碼的祕訣。 (FWIW,你可以通過創建一個異常並查看它的堆棧跟蹤來做到這一點......雖然不是我們推薦的!) – berry120

回答

相關問題