我正在使用Jython进行开发,我需要使用需要byte[]
作为参数的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[]
答案 0 :(得分:4)
Jython User Guide回答它:使用字符串
答案 1 :(得分:4)
有时你需要将一个字节数组传递给一个函数,这样函数就会用结果填充字节数组。在这种情况下,发送Python字符串不会起作用,因为Python字符串是不可变的。而是使用jarray module创建一个Java字节数组:
import jarray
bytes = jarray.zeros(100, "b")
length = zlibDeflater.deflate(bytes)
...