首页 > 解决方案 > Kotlin 如何存储列表的数据?

问题描述

我想知道 Kotlin 如何将数据存储在列表中。我已经阅读了函数listOf和接口的源代码List,但我一直无法找到数据的存储位置。例如val list = listOf(1,2,3). 用什么样的存储方式来存储这三个数字?

感谢您的阅读。

标签: kotlinstorage

解决方案


如果你遵循调用链,listOf(vararg elements: T)在 JVM 调用上Arrays.asList(elements),它看起来像:

    public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }

这不是常用的Java ArrayList,而是一个同名的私有类。但就像公共 ArrayList 一样,项目存储在支持对象数组中。在这种情况下,varargObject 数组直接用作后备数组,因此没有多余的复制或分配。源代码可以在这里查看。


推荐阅读