无法在java中将字符串类型强制转换为对象?
我可以将对象类型强制转换为字符串吗
例如:方法getResponse()
返回类Request
的Object
类型
String s1=(String)req.getResponse();
你可以在下面搜索框中键入要查询的问题!
我可以将对象类型强制转换为字符串吗
例如:方法getResponse()
返回类Request
的Object
类型
String s1=(String)req.getResponse();
# 1 楼答案
如果getResponse()返回String对象,但引用类型为object,则可以获取String,因为响应已经是String
另一方面,如果返回的对象实际上不是String的对象,它将给您classcastexeption
要处理这种情况,建议在强制转换对象之前检查对象的类型
就像
# 2 楼答案
java无法神奇地将一个对象强制转换为另一个对象,除非它们具有父子关系
用那种方式是不行的
所有的
String
都是Object
。但并非所有的Object
都是String
编辑评论(你的意思是在java中不可能进行下推):
不,我不是那个意思。在以下情况下,向下浇铸是可能的:
有可能,如果你看到的话。如果
getThat()
方法返回String
,则上述代码可以正常执行。否则Exception
。 同样的规则也适用于getResponse()
方法