为了账号安全,请及时绑定邮箱和手机立即绑定

这里类型使用Object和泛型什么差别?

public static Object expend(Object arr) {
        // 反射创建数组的方式
        // 1.获取原数组长度
        int oldLen = Array.getLength(arr);
        int newLen = (int) (oldLen * 1.5);
        // 2.获取原数组的组件类型
        Class<?> type = arr.getClass().getComponentType();
        // 3.创建新的数组
        Object newArr = Array.newInstance(type, newLen);
        // 4.将原数组中的元素一一设置到新数组中
        for (int i = 0; i < oldLen; i++) {
            // 根据指定下标来获取元素
            Object oo = Array.get(arr, i);
            // 设置到新数组中
            Array.set(newArr, i, oo);
        }
        return newArr;
    }

正在回答

1 回答

Java 泛型的参数只可以代表类,不能代表个别对象。由于 Java 泛型的类型参数之实际类型在编译时会被消除,所以无法在运行时得知其类型参数的类型。Java 编译器在编译泛型时会自动加入类型转换的编码,故运行速度不会因为使用泛型而泛型约束加快。Java 允许对个别泛型的类型参数进行约束,包括以下两种形式(假设 T 是泛型的类型参数,C 是一般类、泛类,或是泛型的类型参数):T 实现接口 I 。T 是 C ,或继承自 C 。一个泛型类不能实现Throwable接口。


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
反射——Java高级开发必须懂的
  • 参与学习       151465    人
  • 解答问题       335    个

反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础

进入课程

这里类型使用Object和泛型什么差别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信