字符串到对象但不是对象到字符串?

旺格

我真的不明白为什么这行代码不能编译:

String str = new Object();

而以下是:

Object o = new String("Hello");

据我了解,String和其他所有类一样,都扩展了Object。那么为什么第一行不编译呢?

维克多2748

因为String是一个Object,但Object不是一个String,就像每个橙色都是一个水果,但并非每个水果都是一个橙色

String是Extended的类Object,因此您可以简单地编写:

Object obj = "string";

Object不扩展String,因此:

String str = new Object();

不会编译。

但是,如果您有一个Object,并且它是一个String,则可以执行称为类型转换或简单地转换的操作

String str = (String) myObject;

但是它可能会抛出一个ClassCastExceptionif,如果myObject不是最初的类型String

在这里,您可以找到有关Java中对象转换的更多信息http : //www.javabeginner.com/learn-java/java-object-typecasting

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章