2013-02-08 64 views
0

我的源文件夾中包含以下一組包。 包是形狀,模型,視圖。Java - Eclipse中的多個包問題

說我有在我的模型文件夾中的類文件具有下面的代碼段:

shapes.interfaceforshapes[][] temp = model.get2dshapearray(); 


if(temp[x][y].getClass().isInstance(shapes.cTriangle)){ 

      } 

請注意在上面的代碼temp[x][y]將返回接口我shapeInterface 一類內的所有類形狀文件夾界面這個。

我在做正確的事情說「是我的cTriangle類型的數組中的類」?

我目前得到的錯誤:

shapes.cTriangle cannot be resolved to a variable

,但我並不想匹配一個變量,我想測試agaisnt我的包形狀在類cTriangle

感謝

回答

1

,如果你想檢查對象是有一定的類的實例,而isInstance方法需要一個類的實例使用instanceOf運營商。

if(temp[x][y] instanceOf shapes.cTriangle) {//dosomething } 
+0

謝謝你正是我需要的 – LmC 2013-02-08 18:36:55

1

這不是isInstance(Object)的工作原理。你必須在課堂上調用它並傳入你想匹配的對象。你會做:

shapes.cTriangle.class.isInstance(temp[x][y]); 

假設cTriangle是一類和temp[x][y]返回一個對象,並要檢查,如果該對象是cTriangle類型。

+0

我喜歡這個,因此upvote,但標記的簡單性正確的一個更容易,更易於理解 – LmC 2013-02-08 18:37:16