模拟试题

3773考试网计算机等级考试模拟试题正文

2011计算机二级JAVA编程:数组和数组之间的转换代码

来源:fjzsksw.com 2010-11-4 14:29:19

 

 

 数组和数组之间的转换代码

  import java.lang.reflect.Array;

  import java.util.Date;

  public class TestCast {

  /**

  * @param args

  */

  //public static void main(String[] args) {

  /** *//**

  *

  * 一般情况下数组和数组是不能直接进行转换的,例如:

  * Object[] t1={"1","2"};

  * String[] t2=(String[])t1;//这里会出现转换错误

  *

  * 下面提供了一种方式进行转换

  */

  //1.0测试一般基础类

  /* Object[] t1={"1","2","3","4","5"};

  String[] m1=(String[])TestCast.cast(t1,String.class);

  for(int i=0;i

  System.out.println(m1[i]);

  //2.0测试复杂对象

  Object[] t2={new Date(1000),new Date(2000)};

  Date[] m2=(Date[])TestCast.cast(t2,Date.class);

  for(int i=0;i

  System.out.println(m2[i].toString());*/

  // }

  /** *//**

  * 将数组array转换成clss代表的类型后返回

  * @param array 需要转换的数组

  * @param clss 要转换成的类型

  * @return 转换后的数组

  */

  public static Object cast(Object array,Class clss){

  if(null==clss)

  throw new IllegalArgumentException("argument clss cannot be null");

  if(null==array)

  throw new IllegalArgumentException("argument array cannot be null");

  if(false==array.getClass().isArray())

  throw new IllegalArgumentException("argument array must be array");

  Object[] src=(Object[])array;

  Object[] dest=(Object[])Array.newInstance(clss, src.length);

  System.arraycopy(src, 0, dest, 0, src.length);

  return dest;

  }

  }

 

 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1