gpt4 book ai didi

collections - Java Collection 中的 Vector 是如何工作的

转载 作者:行者123 更新时间:2023-12-04 05:44:29 27 4
gpt4 key购买 nike

Java Collection 中的 Vector 如何在内部工作,以便它可以接受任何类型的对象

最佳答案

在内部,Vector 只是将对象存储为 Object 类型。因为所有的对象都继承自Object,所以它可以存储所有的对象。

但是,原始值(例如 int 和 double)不继承自 Object,因为它们不是对象。为了应对它们,Java 会根据需要将它们从原始值动态转换为对象。所以 int 5 将被转换为一个持有 5 的 Integer 对象,而 double 4.3 将被转换为一个持有 4.3 的 Double 对象。这称为自动装箱。

Java 也会做相反的事情,自动将整数转换为整数。这被称为“拆箱”。

这样它就可以存储任何对象,但是当您使用 Vector 进行编码时,您可以更加具体。例如向量或向量。这种对可以存储在 Vector 中的内容的限制是使用“泛型”实现的,它允许您将类型作为参数传递给类。在这些示例中,参数是字符串和整数。

然而,泛型仅在编译时强制执行;在运行时,Vector 将继续在内部使用 Object。

这意味着当您的应用程序运行时,Vector 和 Vector 之间没有区别。它们完全一样,实际上只有 Vector(没有 Vector 或 Vector 真正存在)。它们之间的区别完全在于编译时,在应用程序运行之前,在使用 Vector 的情况下,只有在其中存储 String 对象时才会编译。

关于collections - Java Collection 中的 Vector 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860120/

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