论坛首页 编程语言技术论坛

Java 反转数组

浏览 2175 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-08-13  


import java.lang.reflect.Array;

public class ArrayUtils{

	public static void main(String[] args) {
		int[] myarray = {1, 2, 3};

		int[] newarray = invertArray(myarray);

		for (int i = 0; i < newarray.length; i++) {
			System.out.println(newarray[i]);
		}
	}

	/**
	 * 反转数组
	 * 
	 */
	public static <T> T invertArray(T array) {
		int len = Array.getLength(array);

		Class<?> classz = array.getClass().getComponentType();

		Object dest = Array.newInstance(classz, len);

		System.arraycopy(array, 0, dest, 0, len);

		Object temp;

		for (int i = 0; i < (len / 2); i++) {
			temp = Array.get(dest, i);
			Array.set(dest, i, Array.get(dest, len - i - 1));
			Array.set(dest, len - i - 1, temp);
		}

		return (T)dest;
	}
}

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics