Java 数组对象

Java Array Object

OS Windows 7 64 位

我正在使用第三方软件使用 jython 编写脚本。我可以使用 "newInstance." 创建组件类型 "int" 的数组我也可以使用 "get." 在特定索引处检索元素但是,当我尝试使用 "setInt," 我得到一个:

IllegalArgumentException: Argument is not an array.

为什么在使用get 检索时识别数组,但在使用setInt 启动时不识别数组?

    from java.lang.reflect import Array  
    arrayAsset = ['ExtRS', 'TPI', 'RRN', 'RRS', 'CCLN', 'CCLS', 'TPA', 'BAGN', 'BAGS', 'CP']  
    arrayCount = Array.newInstance(int, len(arrayAsset))  
    Array.get(arrayCount, 3)  
    Array.setInt(arrayCount, 3, 0)

可能发生的情况是创建了一个整数数组。

在java

Object arrayCount = Array.newInstance(Integer.class, arrayAsset.length);
Array.setInt(arrayCount, 3, 0);

抛出java.lang.IllegalArgumentException: 参数不是数组

Object arrayCount = Array.newInstance(Integer.class, arrayAsset.length);
Array.set(arrayCount, 3, 0);

会起作用

Object arrayCount = Array.newInstance(int.class, arrayAsset.length);
Array.setInt(arrayCount, 3, 0);

也可以正常工作

我使用 ArrayList 而不是 Array,这不是真正的解决方案,但它有效。