关于System.arraycopy()方法的一个发现,不知道各位是否认可,或是偶的理解有误也肯请帮忙指正

yesjoy yesjoy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
第一个程序如下,运行也完全无误
public class ArrayCopy
{
public static void main(String[] args)
{
String totalBookNames[] = new String[1000];
for(int i=0;i<totalBookNames.length;++i)
{
totalBookNames[i]="图书"+i;
}
String lendBookNames[] = new String[15];
System.arraycopy(totalBookNames,8,lendBookNames,0,15);
System.out.println("借出的图书列表如:");
for(int i=0;i<lendBookNames.length;++i)
{
System.out.println(lendBookNames[i]);
}
}
}
下面给出第二个使用该方法的程序,运行有错误
import java.io.*;

public class AcceptInMessage
{
public static void main(String[] args)
{
char engChar[] = {'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'};
int arcChar[] = {};
System.out.println(engChar.length);
System.arraycopy(engChar,0,arcChar,0,5);
for(int i=0;i<=25;i++)
{
System.out.print(engChar[i]);
}
System.out.println();
}
}

运行错误提示信息如下(编译正确)
Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at AcceptInMessage.main(AcceptInMessage.java:11)

不知道这里作何解释?难道说System.arraycopy()方法操作的数组只能应用于用new方法创建的数组吗?
...全文

相关推荐

Java中的数组复制(clone与arraycopy)代码详解

主要介绍了Java中的数组复制(clone与arraycopy)代码详解,本文并未全部介绍数组复制的几种方式,仅对clone和copy的相关内容进行了解析,具有一定参考价值,需要的朋友可以了解下。

weixin_38700779

深入理解java中Arrays.sort()的用法

主要介绍了深入理解java中Arrays.sort()的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

weixin_38637998

Java数组集合的深度复制代码实例

主要介绍了Java数组集合的深度复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

weixin_38732912

Java实现删除排序数组中重复元素的方法小结【三种方法比较】

主要介绍了Java实现删除排序数组中重复元素的方法,结合实例形式对比分析了三种常见的数组元素删除算法操作技巧,需要的朋友可以参考下

weixin_38529251

Java程序将一个数组的所有元素复制到另一个数组.docx

每个 Java 程序都会为您提供不同的方法来解决 Java 中的特定问题。如果您是 Java 编程新手,我们强烈建议您阅读有关Java 教程的文章,其中我们通过实际示例和程序介绍了 Java 编程的所有基础知识和高级主题。

Q shen
评论 5
收藏 已收藏
分享
返回顶部
yesjoy
Java SE 62,620 成员 307,251 内容