gpt4 book ai didi

java - 如何知道 List 对象是否具有固定大小

转载 作者:行者123 更新时间:2023-12-02 05:20:39 24 4
gpt4 key购买 nike

我如何知道列表是否具有固定大小?

List<String> fixed = Arrays.asList(new String[100]);

这将创建一个固定列表。但是 String 对象的实例化数组不再引用 String 数组。

最佳答案

引用:Is it possible to find out if some list is fixed size or not?

是否可以查明某些列表是否固定大小?

理论上 - 不。固定大小是列表类实现的一个紧急属性。您只能通过尝试添加元素来确定列表是否具有该属性。

请注意,简单的行为测试无法可靠地区分固定大小的列表和有界列表或永久或临时只读的列表。

在实践中,固定大小的列表通常具有与普通列表不同的类。您可以测试对象的类以查看它是否是特定类。因此,如果您了解哪些类将用于在您的代码库中实现固定大小的列表,那么您可以测试特定列表是否是固定大小的。

例如,Arrays.asList(...) 方法返回一个 List 对象,其实际类是 java.util.Arrays.ArrayList。这是一个私有(private)嵌套类,但您可以使用反射找到它,然后使用 Object.getClass().equals(...) 对其进行测试。

但是,这种方法很脆弱。如果数组的实现被修改,或者如果您也开始使用其他形式的固定大小列表,您的代码可能会中断。

关于java - 如何知道 List 对象是否具有固定大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52531631/

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