随笔 - 119  文章 - 3173  trackbacks - 0
<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

交友莫独酒,茅台西凤游。
口干古井贡,心徜洋河流。
称多情杜康,趟无量双沟。
赞中华巍巍,无此不销愁。

常用链接

留言簿(68)

随笔分类(136)

随笔档案(122)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 522468
  • 排名 - 94

最新评论

 

 1 import java.util.Arrays;
 2 
 3 public class ArrayCopyTest {
 4     public static void main(String args[]) {
 5         String[] base = { "1""2""3""4""a""b""c""d""!""~""+" };
 6         System.out.println("base:" + Arrays.toString(base));
 7         String[] copy = Arrays.copyOf(base, 4);
 8         System.out.println("copy:" + Arrays.toString(copy));
 9         copy = Arrays.copyOfRange(base, 36);
10         System.out.println("copy from base, Range 3 - 6:"
11                 + Arrays.toString(copy));
12     }
13 }

输出
base:[1, 2, 3, 4, a, b, c, d, !, ~, +]
copy:[1, 2, 3, 4]
copy from base, Range 3 - 6:[4, a, b]


Arrays.toString 直接把数组转换成字符串
Arrays.copyOf(base, 4); copy 目标的前几个成员
Arrays.copyOfRange(base, 3, 6); 指定copy的范围
Arrays相当有用.
到最近才发现原来java6提供了很多有用的工具类
后续逐步和大家分享学习心得.
posted on 2007-12-26 09:10 交口称赞 阅读(2279) 评论(8)  编辑  收藏 所属分类: Java6java相关

FeedBack:
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2007-12-26 10:06 交口称赞
今天碰到一个奇怪的事情
上面的例子在
eclipse 3.3.1.1+jdk6的情况下
eclipse的compiler compliance level 设置成5.0的时候还是能过.

但是放到jdk是5的linux服务器上
编译报错
ArrayCopyTest.java:7: cannot find symbol
symbol : method copyOf(java.lang.String[],int)
location: class java.util.Arrays
String[] copy = Arrays.copyOf(base, 4);
^
ArrayCopyTest.java:9: cannot find symbol
symbol : method copyOfRange(java.lang.String[],int,int)
location: class java.util.Arrays
copy = Arrays.copyOfRange(base, 3, 6);
^
2 errors

不知道eclipse怎么搞的  回复  更多评论
  
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2007-12-26 10:39 guest
JDK6的API你放到JDK5上当然不行啦,copyOf是从JDK6开始加入的  回复  更多评论
  
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2007-12-26 12:38 交口称赞
楼上没看明白?
我知道是jdk6的api不然我也不会写

但是奇怪的是
在eclipse下,jdk6,编译兼容性选择1.5的
竟然能过.
按理说应该不给编译猜对.  回复  更多评论
  
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2007-12-27 00:37 xmlspy
@交口称赞

当然能过去,兼容性指的是你的目标运行环境,
实际在使用jdk6,兼容性为5的情况下,编译出来的代码实际上是针对5,也可能5和6都可以运行

我想,各个版本的编译器都有向旧版本兼容的功能的
  回复  更多评论
  
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2007-12-27 08:42 交口称赞
"当然能过去,兼容性指的是你的目标运行环境, "

貌似不是这样的吧
既然我目标设置为1.5
那用的1.6的语法就不应该能编译通过.

而且为什么我兼容性设成1.4
那就编译不过呢

照你的解释也应该能编译过啊

  回复  更多评论
  
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2007-12-27 08:47 交口称赞
我试验的情况是这样的
安装jdk6+eclipse 3.3.1.1

compiler compliance level 设置成5.0
写的代码用java6的语法
照样在eclipse下编译执行

compiler compliance level 设置成1.4
就编译不过

现在不能肯定是不是eclipse的bug
但至少这是个陷阱
为了方便装java6,compiler compliance level 设置成5.0
万一开发的时候不小心用了java 6的语法,到时候上服务器会出问题的.

所以在工作中一定要统一开发环境,开发环境要和目标环境一致.  回复  更多评论
  
# 5.0 与 6.0 的语法是完全一样的[未登录] 2008-01-11 10:45 H
5.0 与 6.0 的语法是完全一样的,
  回复  更多评论
  
# re: 学习Java6(十五)工具类Arrays(1)数组copy 2008-03-07 15:01 taijh
感恩  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: