9

谁能解释为什么下面的 if 语句评估为假?

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

它接受一个“PolyLine”对象,但 instanceof 返回 false,因为我收到“2”警报,然后是“4”警报,并且不知道它是如何可能的。

4

2 回答 2

13

也许形状为空?在这种情况下,instanceof 返回 false。

于 2012-12-20T19:16:05.913 回答
11

我打赌shape作为 传递null,并且null不是任何类的实例。

于 2012-12-20T19:16:25.127 回答