黑马程序员技术交流社区

标题: 【厦门校区】运用泛型,实现不同类型的数组元素反转 [打印本页]

作者: 吴洪标    时间: 2018-11-30 13:18
标题: 【厦门校区】运用泛型,实现不同类型的数组元素反转
本帖最后由 吴洪标 于 2018-11-30 13:29 编辑

/*
将一个数组的元素前后反转
运用了泛型,定义了打印数组元素的方法,以及反转数组元素的方法*/
public class ArrayReverse {
    public static void main(String[] args) {
        Integer[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9};
        Double[] doubleArray = {1.0, 2.0, 3.0, 4.0};
        String[] stringArray = {"","","","",""};
        arrayReverse(intArray);
        arrayReverse(doubleArray);
        arrayReverse(stringArray);
    }

    //定义打印数组元素的方法
public static <T> void arrayPrint(T[] inputArray) {
        //泛型<T>,接受不同类型的数组作为参数,根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。
        for (T element : inputArray) { //for循环变量数组的每一个元素
                System.out.printf("%s", element);
        }
        System.out.println();
    }

    //定义反转数组元素的方法
public static <T> void arrayReverse(T[] inputArray) {
        arrayPrint(inputArray);
        //这里for循环只遍历到数组的一半,通过array.length-i-1来定位对称位置的数组元素
        for (int i = 0; i < (inputArray.length / 2); i++) {
            T temp;
            temp = inputArray;
            inputArray = inputArray[inputArray.length - i - 1];
            inputArray[inputArray.length - i - 1] = temp;
        }
        arrayPrint(inputArray); //调用数组打印方法
        System.out.println();
    }
}

ArrayReverse.png (2.85 KB, 下载次数: 21)

程序运行结果

程序运行结果

作者: 一个人一座城0.0    时间: 2018-11-30 13:58
到此一游。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2