首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
Java
用 clone()方法复制数组为什么不需要强制类型转换?
zhao1014
·
2019-09-07 10:20:29 +08:00
· 2931 次点击
这是一个创建于 1743 天前的主题,其中的信息可能已经有所发展或是发生改变。
clone
强制
转换
复制
5 条回复
•
2019-09-07 15:37:32 +08:00
1
chendy
2019-09-07 11:24:05 +08:00
因为返回类型就是数组…
2
guyeu
2019-09-07 11:56:49 +08:00
1
java7 以后,重写父类的方法的返回值可以是父类方法的派生类,你可以理解为_Array_重写了 Object 的 clone 的 clone 方法,并且返回了一个和自己类型相同的对象
3
zhao1014
OP
2019-09-07 15:06:16 +08:00
@
chendy
返回的不是 Object 类型吗?
4
zhao1014
OP
2019-09-07 15:32:51 +08:00
@
guyeu
首先,如果此对象的类不实现接口 Cloneable,则抛出 CloneNotSupportedException。 请注意,所有数组都被认为是实现接口 Cloneable, ( 并且数组类型 T[]的 clone 方法的返回类型是 T[] ), 其中 T 可以任何引用或原始类型。 另外,该方法将创建该对象的类的新实例,并将其所有字段初始化为被克隆对象的字段,就像通过赋值一样。
好吧,api 文档里说数组调用 clone ()方法返回的就是 array 类
5
GM
2019-09-07 15:37:32 +08:00
@
zhao1014
String[] strArray = null;
strArray.clone() 返回类型是 String[] ,IDE 上可以看提示。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
926 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms ·
UTC 21:39
·
PVG 05:39
·
LAX 14:39
·
JFK 17:39
Developed with
CodeLauncher
♥ Do have faith in what you're doing.