对象类型分配给类

时间:2014-05-06 17:02:58

标签: java

Object o = getRectangle();
if(o instanceof Rectangle){
     Rectangle r = (Rectangle) o;
}

如果getRectangle()返回一个Rectangle(Rectangle是我项目中的一个类),我是否可以像这样将Rectangle分配给对象?

1 个答案:

答案 0 :(得分:0)

是。你提到的代码可以使用。

如果原始对象是要转换为的对象的实例,则对象的转换将始终有效。既然你已经检查过o是否是Rectangle的一个实例,那么这里没有问题。

我更关心你对Rectangle r的处理方式。变量r的范围完全在最内层的if()语句中。因此,如果您想访问if (o instanceof Rectangle)之外的r,除非您在if语句之外声明它,否则这是不可能的。