关于Arrays.copyOfRange(md,from,to)小问题

Grey_star 2013-05-13 09:14:07
int mn[]=new int[64];
for(int m=0;m<64;m++)
mn[m]=10+m;
int abc[]=Arrays.copyOfRange(mn, 0, 5);
for(int i=0;i<abc.length;i++)
System.out.println(abc[i]);

为什么上述copy函数最后只是输出abc[0],abc[1],abc[2],abc[3],abc[4]的值,却没有abc[5]???
...全文
3849 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Grey_star 2013-05-14
  • 打赏
  • 举报
回复
看来是我疏忽了,多谢朋友的回复。。。。
shine333 2013-05-13
  • 打赏
  • 举报
回复
另外,大体上JDK的下标习惯都是这样 1 如果两个都是下标,前一个下标inclusive,后一个exclusive 2 下标一般都是0开始(JDBC的PreparedStatment/ResultSet是一个明显的例外)
shine333 2013-05-13
  • 打赏
  • 举报
回复
引用 2 楼 Grey_star 的回复:
朋友请看清楚,copy函数是copyOfRange(type[],from,to) 这是一个指定从from到to的一个copy。。。只是不知道为什么它只是复制到to-1。。
拜托您再看一下函数名的同时看一下注释。 @param to the final index of the range to be copied, exclusive. * (This index may lie outside the array.) exclusive的含义是“不包括” 区别于from注释的inclusive“包括”
Grey_star 2013-05-13
  • 打赏
  • 举报
回复
朋友请看清楚,copy函数是copyOfRange(type[],from,to) 这是一个指定从from到to的一个copy。。。只是不知道为什么它只是复制到to-1。。
桃园闲人 2013-05-13
  • 打赏
  • 举报
回复

static int[] copyOf(int[] original, int newLength) 
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。 
如上是JDK1.6中的描述,最后一个参数是要copy的长度,而不是下标。

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧