《数据结构实用教程(Java语言描述)》 徐孝凯 编著
清华大学出版社
有一段这样的代码:
在idea里面 我们发现 for这里有一些小问题:
根据提示我们发现可以通过 System.arraycopy() 方法来替换这个for循环。
不过这个方法放在System这个类下,多少还有些奇怪。
我们先看下文档:
意思是:从源数组的指定开始角标位置,拷贝到目标数组指定位置。
src - 源数组
srcPos - 源数组的开始位置
dest - 目标数组
destPos -目标数组的开始位置
length - 数组元素拷贝的数量
看一个简单的例子:
运行结果为: 12de
我们对原书代码改成为:
经过运行发现效果是一样的。
你可能会奇怪为啥自己复制到自己会不会被覆盖呢?
我们去看下源码,上面有详细的注释:
上面说 如果源数组和目标数组引用的是一个数组的话,就会借助临时数组进行处理。
这样我们就一目了然了。
虽然很简单。
但是一方面说明idea非常强大,
其次关于JDK的方法,如果有疑问尽量去看源码去分析。
另外一方面我们适当接触一下新的方法,不要总墨守成规,对IDE提示视而不见。
我们在写代码的时候建议多看idea给的提示,有一些不规范或者有更好的方法,Idea会给出建议。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有