2012-12-20 48 views
9

任何人都可以解釋爲什麼if語句的計算結果爲false嗎?Java的oddof行爲實例

public void addShapeToWhiteboard(PolyLine shape) 
{ 
    Window.alert("2"); 
    if(shape instanceof PolyLine) 
    { 
     Window.alert("3"); 
     this.whiteboard.add((PolyLine)shape); 
     Window.alert("3.5"); 
    }  
    this.whiteboard.draw(); 
    Window.alert("4"); 
} 

它需要一個「折線」的對象,但因爲我得到的「2」,其次是「4」警告的警告,並沒有任何線索如何甚至有可能的instanceof返回false。

+1

我們可以看到調用它的代碼嗎? – Woot4Moo

+0

請提供更多信息: 如果您可以提供確切的PolyLine類別,它將有所幫助;它是javafx.scene.shape.Polyline還是另一個類? 告訴我們如何調用這段代碼;什麼樣的對象被傳入形狀? –

回答

13

也許形狀爲空? instanceof在這種情況下返回false。

+0

謝謝!我對此留下了印象......我打印了課程,這讓我不理解它爲空的想法,但果然,它是。 – user1919819

11

我下注shape通過爲nullnull不是任何類的實例。