java - 对象数组到泛型数组

标签 java arrays generics

查看代码

Integer[] array = (Integer[]) new Object[size];

这显然行不通,我完全理解。

但为什么泛型有效?

T[] array = (T[]) new Object[size];

如果 T 是 Integer 类,那么在该行之后数组将是 Object[] 类型,但为什么转换是可能的?不会抛出 ClassCastException?

最佳答案

but why with generics works?

这是因为通用版本被类型删除并编译为以下 -

Object[] array = new Object[size];

关于java - 对象数组到泛型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25693204/

相关文章:

Ruby String 变量为 .is_a 返回 true?(Array)

php - 当数组的元素超过 2147483647 个时,count 的行为是什么?

Java、泛型和继承

java - 将 long 的最大值分配给 long 类型会引发异常

当格式包含循环时,Java 检查特殊格式的字符串

php - 移动带键 PHP 数组中的键/值

java - 如何编写通用方法来查找最大元素并调用该方法?

swift - 用于查找给定类型的子类的整洁方法签名

java - 如何通过避免 apache Spark 中的平面映射操作来提高性能

java - 逆乘法表javafx