Java 如何知道列表对象是否具有固定大小
我如何知道列表是否有固定大小Java 如何知道列表对象是否具有固定大小,java,Java,我如何知道列表是否有固定大小 List<String> fixed = Arrays.asList(new String[100]); List fixed=Arrays.asList(新字符串[100]); 这将创建一个固定列表。但是字符串对象的实例化数组不再引用字符串数组。您可以使用Set,Set可以输入无限对象。参考: 是否可以确定某些列表的大小是否固定? 理论上-否。固定大小是列表类实现的一个紧急属性。您只能通过尝试添加元素来确定列表是否具有该属性 请注意,一个简单的行为
List<String> fixed = Arrays.asList(new String[100]);
List fixed=Arrays.asList(新字符串[100]);
这将创建一个固定列表。但是字符串对象的实例化数组不再引用字符串数组。您可以使用Set,Set可以输入无限对象。参考: 是否可以确定某些列表的大小是否固定? 理论上-否。固定大小是列表类实现的一个紧急属性。您只能通过尝试添加元素来确定列表是否具有该属性 请注意,一个简单的行为测试无法可靠地区分固定大小的列表和有界列表或永久或临时只读的列表 实际上,固定大小的列表通常与普通列表具有不同的类。您可以测试对象的类,看看它是否是特定的类。因此,如果您了解哪些类将用于在代码库中实现固定大小的列表,那么您可以测试特定列表的大小是否固定 例如,
Arrays.asList(…)
方法返回一个实际类为java.util.Arrays.ArrayList的列表对象。这是一个私有嵌套类,但您可以使用反射来查找它,然后使用Object.getClass().equals(…)
来测试它
然而,这种方法是脆弱的。如果修改了数组的实现,或者您开始使用其他形式的固定大小列表,您的代码可能会中断。列表没有固定大小,只有当前大小当我尝试
Arrays.asList(“A”).getClass()
时,它返回java.util.Arrays$ArrayList
。这种实现可能会改变。但也许查查课程能帮上忙。。。?否则,列表
界面没有相应的方法。您为什么想知道这一点?你想完成什么?我在为OCA考试练习。我只是在想如果你不能确定会怎么样。它的列表
依赖于实现。这并没有回答问题,也根本不是答案。这将是一个评论。请等待,直到你有足够的声誉给予。这也是不正确的。一个集合可以包含很多对象,但它受到环境资源和Java本身实现的限制。顺便说一句,列表也是如此