假设我们有一个变量类型的对象
Object c;假设我们想通过包装器实例化它。是
c = new Integer(0);合法?
我认为这是因为对象类型是每个类的“父”,例如Integer是一个包装类(upcast)。
发布于 2019-06-15 14:06:39
是的,具有引用类型(如Object)的变量可以保存对任何与赋值兼容的引用类型的实例的引用。与任务兼容的引用类型如下:
Object)。Integer,因为Integer是Object的子类)有时,代码似乎违反了这些规则,例如:
Object c = 0; // Works just fine这是因为int 0被自动装箱到Integer实例中,并且该实例的引用存储在c中。
https://stackoverflow.com/questions/56611045
复制相似问题