之间有什么区别。
public class Test {
public static void main(String args[]) {
String toBeCast = "cast this string";
A a = toBeCast; // error - Type mismatch: cannot convert from String to A
Object object = toBeCast;
}
}
public class A {
}
当我们说每个对象都扩展了
Object class
时,为什么不允许使用A a = toBeCast;
,但是此Object object = toBeCast;
可以正常工作。 最佳答案
记住几何学课上的一句老话:“每个正方形都是一个矩形,但不是每个矩形都是一个正方形”。概括为:“每个正方形/平行四边形/菱形都是多边形,但不是每个多边形都是正方形/平行四边形/菱形”。
这是您正在做的事情:
String toBeCast = "cast this string" //this rhombus is a rhombus: cool!
A a = toBeCast; //this parallelogram is that rhombus : WTF? that doesn't make sense!
Object object = toBeCast; //this polygon is that rhombus: cool!
关于java - 字符串到对象类型转换-差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27052943/