前两天处理一些数据的时候,注意到数据集中的Java方法参数和我们平时常用的形式不一样,例如:
withinInstruction(Token,BitSet,BitSet)
被表示为:
withinInstruction(LToken;LBitSet;LBitSet;)
查了一下,原来这是JNI类型的表示方法,具体的转换方法可以参看:
https://www.cnblogs.com/tianshuai11/archive/2012/03/26/2477175.html
原有博文中的Long型的简写错了,应该是J,这个请大家注意。最后,附上一些我写的转换参数类型的Python代码,仅供大家参考:
def change_singe_parameter(single_parameter): if("[]" in single_parameter): changed_parameter="["+change_singe_parameter(single_parameter[:single_parameter.index("[")]) return changed_parameter elif(single_parameter=="boolean"): return "Z" elif(single_parameter=="byte"): return "B" elif(single_parameter=="char"): return "C" elif(single_parameter=="short"): return "S" elif(single_parameter=="int"): return "I" elif(single_parameter=="long"): return "J" elif(single_parameter=="float"): return "F" elif(single_parameter=="double"): return "D" elif(single_parameter=="void"): return "V" else: return "L"+single_parameter+";" ########################################################## def parameter_list_change(parameter_string): types=parameter_string.split(',') if(len(types)==1): changed_parameter=change_singe_parameter(types[0]) return changed_parameter else: changed_parameter="" for each_type in types: changed_parameter=changed_parameter+change_singe_parameter(each_type) return changed_parameter就简单总结这么多。