
java list.toarray 方法中数组长度大于列表长度的行为
在 list.toarray 方法中,当数组长度大于列表长度时,数组中紧跟列表末尾后的第一个位置元素会被设置为 null。这个特性对于推断列表长度非常有用,特别是当调用者确定列表不包含任何 null 元素时。
例如,假设我们有如下代码:
list list = list.of(12, 34, 56);integer[] array = list.toarray(new integer[]{1, 2, 1, 43, 32, 1});
按照预期,输出应该是 [12, 34, 56, null, null, null],因为数组中有三个空位。但是,实际输出却是:
立即学习“Java免费学习笔记(深入)”;
阿里云-虚拟数字人
阿里云-虚拟数字人是什么? …
2 查看详情
[12, 34, 56, null, 32, 1]
这是因为 list.toarray 方法的源码文档明确指出:
如果数组的元素比列表多,数组中紧跟列表末尾后面那一位置的元素设置为 null。
因此,在上面的示例中,数组中的最后一个元素 1 被覆盖为 null。
这对于理解 list.toarray 方法的行为至关重要,尤其是当数组长度大于列表长度时。希望这能解答您的疑问。
以上就是Java List.toArray方法:数组长度大于列表长度时会发生什么?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/381723.html
微信扫一扫
支付宝扫一扫