2012-12-20 44 views
9

क्या कोई बता सकता है कि नीचे दिए गए कथन का विवरण गलत क्यों है?जावा का उदाहरण अजीब व्यवहार

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"); 
} 

यह एक "पॉलीलाइन" वस्तु में लेता है, लेकिन instanceof झूठे रिटर्न क्योंकि मैं "2" "4" की एक चेतावनी के बाद की एक चेतावनी हो और कोई सुराग नहीं है कि यह कैसे भी संभव है की है।

+1

क्या हम इसे आमंत्रित करने वाले कोड को देख सकते हैं? – Woot4Moo

+0

कृपया अधिक जानकारी प्रदान करें: यदि आप पॉलीलाइन की सटीक कक्षा प्रदान कर सकते हैं तो इससे मदद मिलेगी; क्या यह javafx.scene.shape.Polyline या एक और कक्षा है? हमें दिखाएं कि यह कोड कैसे कॉल किया जाता है; आकार के रूप में किस वस्तु को पारित किया जा रहा है? –

उत्तर

13

शायद आकार शून्य है? उदाहरण के मामले में झूठी वापसी होती है।

+0

धन्यवाद! मैंने उस पर खाली कर दिया ... मैंने कक्षा को मुद्रित किया, और इसने मुझे इसे शून्य के विचार को खारिज कर दिया, लेकिन यकीन है कि, यह था। – user1919819

11

मैं शर्त shapenull के रूप में पारित किया गया है, और null किसी भी वर्ग का उदाहरण नहीं है।