CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  SUN Java 认证

有关复制数组的功能 的问题arraycopy

楼主kele2536(可乐)2006-05-28 14:12:56 在 Java / SUN Java 认证 提问

为什么   用char   可以复制数组用String   就不行了啊  
  char   copyfrom[]={'a','b','c','d','e'};  
  char   copyto[]=new   char[2];  
  System.arraycopy(copyfrom,1,copyto,0,2);  
  System.out.println(new   String   (copyto));  
  这个有结果  
  也下面这个却没有结果啊    
  String   copyfrom[]={"aba","ddb","dddc","ffffd","gggge"};  
  String   copyto[]=new   String[2];  
  System.arraycopy(copyfrom,1,copyto,0,2);  
  System.out.println(copyto);  
  问题点数:20、回复次数:10Top

1 楼lliushine(小明)回复于 2006-05-29 14:31:53 得分 0

System.out.println(new   String   (copyto));显示的是copyto的值,  
   
  System.out.println(copyto);显示的是copyto的地址.  
   
  Top

2 楼kele2536(可乐)回复于 2006-05-31 00:44:06 得分 0

但是改成System.out.println(new   String   (copyto));  
  编译就会有错误啊   ???  
  哪位大虾知道是为什么吗?Top

3 楼young0x()回复于 2006-05-31 01:00:50 得分 0

for   (int   i=0;i<copyto.length;i++)  
  System.out.println(copyto[i]);  
  Top

4 楼LordSimon(lordsimon@x.cn)回复于 2006-06-04 20:45:17 得分 0

copyto要在C里就可以被认为是指向指针的指针了。。。也就是说,它引用的是数组的首地址。在没有提供便宜的情况下访问当然不行啦Top

5 楼LordSimon(lordsimon@x.cn)回复于 2006-06-04 20:45:52 得分 0

写错了,便宜   改为   偏移。。。呵呵Top

6 楼bandittalent()回复于 2006-06-04 21:53:28 得分 0

System.arraycopy(copyfrom,1,copyto,0,2);  
  你只要试试能不能println(copyfrom);就知道能不能搞定println(copyto)Top

7 楼rainbow_ayst(口丁拉瓦)回复于 2006-06-04 23:01:45 得分 0

1.5打印数组现在可以这样了  
  System.out.println(Arrays.toString(str[]));Top

8 楼supergoalcn(Supergoal)回复于 2006-06-08 11:19:48 得分 0

同意楼上的,1.5之前只能通过循环来打印数组。Top

9 楼navence(卡西C)回复于 2006-06-13 21:14:26 得分 0

1.4可以这么打印  
  System.out.println(Arrays.asList(str));Top

10 楼big0bike()回复于 2006-07-07 16:26:06 得分 0

你的程序改为:  
  String   copyfrom[]={"aba","ddb","dddc","ffffd","gggge"};  
  String   copyto[]=new   String[2];  
  System.arraycopy(copyfrom,1,copyto,0,2);  
  for(   int   i   =   0   ;   i   <   2   ;   i++   )   {  
          System.out.println(   copyto[i]   )   ;  
  }  
  说明如下:  
  1.   copyto是   String   的数组,   copyto本身记录的是一个地址;  
  如果想要用里面存储的String,   必须用copyto[   index   ]   ;  
   
  2.   改成System.out.println(new   String   (copyto))   :  
  这样也不行的,原因如上.  
  new   String(   arg   )   里面的参数需要是String或者能够转换成String的类型,  
  而这里是一个数组,   所以导致一个compile-error.Top

相关问题

关键词

得分解答快速导航

  • 帖主:kele2536

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo