我正在使用Jython进行开发,我需要使用需要byte[]作为参数的Java方法.
我试过了:
def randomBytesArray(length):
data = []
for _ in xrange(length):
data.append(chr(random.getrandbits(8)))
methodThatNeedsBytesArrays(data)
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
TypeError: methodThatNeedsBytesArrays(): 1st arg can't be coerced to byte[]
Run Code Online (Sandbox Code Playgroud)
有时您需要将字节数组传递给函数,以便函数将结果填充字节数组。在这种情况下,发送 Python 字符串将不起作用,因为 Python 字符串是不可变的。相反,使用jarray 模块创建一个 Java 字节数组:
import jarray
bytes = jarray.zeros(100, "b")
length = zlibDeflater.deflate(bytes)
...
Run Code Online (Sandbox Code Playgroud)