gpt4 book ai didi

java - Java 中泛型的工作

转载 作者:行者123 更新时间:2023-12-01 21:18:17 25 4
gpt4 key购买 nike

我正在尝试查看泛型的工作原理,它说类被编译为普通类,并且在任何地方都没有提到类型,并且有一个 checkcast 运算符,它传递了我们要转换到的 Object 类的类型从 ArrayList 获取。

String i=ArrayListObject.get(position);

但是当没有类型时,编译器怎么知道泛型 ArrayList 只能存储 <> 中声明的类型。编译类时这些信息存储在哪里。请更新

最佳答案

这只是事实的一半。

是的,在运行时,没有使用任何该类型的信息;只是“对象”被移动。这就是所谓的类型删除

但是:使用某些通用 T 定义哪些字段、方法等的信息可以很好地编译到类文件中。以便编译器可以读取该类文件;并且可以理解你想要实例化一些ArrayList<String>例如。

换句话说:您在这里谈论两个不同的事情:A)编译器读取类文件,以便它可以完成其工作,B)JVM 读取类文件以运行代码。

因此,当您确实好奇该信息到底存储在何处时,请参阅 here !

关于java - Java 中泛型的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39577142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com