java - 如何设置Object[]的长度

标签 java arrays

为什么这段代码不起作用?如何设置Object[]的长度。

Object[] entry = new Object[]{};
entry[0] = 1;
entry[1] = "1";

最佳答案

如果您要初始化一个新数组,那么您必须使用上面答案中提到的语法显式指定其大小:

Object[] entry = new Object[2];

或者使用您在问题中提出的数组初始值设定项 block ,如下所示:

Object[] entry = new Object[] {"a", "b"};

您在这里所做的是将一个数组初始化为空,从而将其大小设置为 0。如果您打印出该数组的长度,它将是 0。

如果您想要一个可以修改大小的数组,建议您使用List接口(interface)(例如ArrayList)。

List<Object> myList = new ArrayList<Object>();

您可以使用 ArrayList 的构造函数设置其初始容量:

List<Object> myList = new ArrayList<Object>(2);

列表是通用的,因此您应该使用类型参数,否则您会收到一些警告。

如果您不知道要在列表中存储哪些对象,您可以执行以下操作:

List<?> myList = new ArrayList(2);

但这样你会收到警告。

有关数组的更多信息:Arrays

关于列表:List interface

如果您对java泛型感兴趣:Generics

关于java - 如何设置Object[]的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064065/

相关文章:

java - 未命名模块通过 ServiceLoader::load 与命名模块交互

JavaScript:数组中给定字符串的数量

java - Android:将 JSONObject 转换为 JSONArray 返回 null

java - 用渐变填充颜色数组

javascript - 在保留键的同时打乱对象数组

java - MyBatis/iBatis - 单独的 SQL Map 文件中的可重用 sql 片段?

java - 从 child 更新父类 UI

java - 在 java 中正确声明 long 类型?

java - Mysql 时间戳。 java中如何处理

java - 如何使用 HashMap 计算数字对的绝对差?