操作系统Windows 7 64位

我正在使用第三方软件使用jython编写脚本。我可以使用“ newInstance”创建组件类型为“ int”的数组。我还可以使用“ get”检索特定索引处的元素。但是,当我尝试使用“ setInt”初始化数组值时,我得到了:


  IllegalArgumentException:参数不是数组。


为什么在使用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);


也可以

10-04 12:39