java 原始数组到 JSONArray

2023-12-30

我正在尝试将 java 原始数组转换为 JSONArray,但我有奇怪的行为。我的代码如下。

long [] array = new long[]{1, 2, 3};
JSONArray jsonArray = new JSONArray(Arrays.asList(array));
jsonArray.toString();

输出是["[J@532372dc"]

为什么我会得到这个输出?我想得到这样的输出[1, 2, 3]


problem:

Arrays.asList(array)

您无法将原始类型数组转换为集合,因为它需要是对象类型数组。自从asList期望一个T...请注意,它必须是一个对象。

为什么它有效?

那是因为在将其传递到参数中时,它将autoBox因为数组是对象类型。

解决方案:

您需要将其更改为其包装类,并将其用作数组。

sample:

Long[] array = new Long[]{1L, 2L, 3L};
JSONArray jsonArray = new JSONArray(Arrays.asList(array));
jsonArray.toString();

result:

[1, 2, 3]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 原始数组到 JSONArray 的相关文章

随机推荐