为什么我们不能将整数对象转换为字符串对象?请详细说明。
Integer obj = new Integer(10);
System.out.println((String)obj);
这里是否涉及协变返回类型?
最佳答案
您不能将 Integer
转换为 String
,因为它们不相关。您只能将引用转换为其父类(super class)之一,即:向上转换,在这种情况下不需要转换运算符,或其子类(向下转换)。
Integer
既不是 String
的子类也不是父类(super class),因此您不能那样做。如果您被允许任意将对象转换为您想要的任何类型,那么为什么还要麻烦拥有类型呢?
所有 Java 对象都有一个 .toString()
方法(继承自 Object
),因此您所要做的就是 String s = obj.toString( ),
尽管 System.out.println()
会自动为您调用它。
不,这与协变返回类型没有任何关系。
关于java - 为什么我们不能将整数对象转换为字符串对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7479394/