7

我正在使用 Jython 进行开发,我需要使用需要 abyte[]作为参数的 Java 方法。

我试过了:

def randomBytesArray(length):
    data = []
    for _ in xrange(length):
        data.append(chr(random.getrandbits(8)))
    methodThatNeedsBytesArrays(data)

但我得到这个错误:

TypeError: methodThatNeedsBytesArrays(): 1st arg can't be coerced to byte[]
4

1 回答 1

5

有时您需要将字节数组传递给函数,以便函数将结果填充字节数组。在这种情况下,发送 Python 字符串将不起作用,因为 Python 字符串是不可变的。相反,使用jarray 模块创建一个 Java 字节数组:

import jarray
bytes = jarray.zeros(100, "b")
length = zlibDeflater.deflate(bytes)
...
于 2013-05-05T07:49:05.637 回答