MAP 在 JAVA 中是个接口,用JNI 无法直接操作.所以只能使用 TREEMAP 或 HASHMAP 来操作.在这里,我介绍下如何用JNI操作JAVA中的TREEMAP对象.TREEMAP的具体函数方法请参照DK1.5API_CN 文档.
首先我们建立一个实例,主要功能是初始化一个TREEMAP对象,然后调用MAP 的PUT 方法,PUT 进去一个STRING 对象和一个序号(int).
Var
//MAP对象
JFVS : JString;
Mid : JMethodID;
bmCZYMAPmid : JMethodID;
bmCZYMAPClass : JClass;
bmCZYMAPOBJ : JObject;
begin
bmCZYMAPClass := JVM.FindClass('java/util/TreeMap');
bmCZYMAPmid := JVM.GetMethodID(bmCZYMAPClass,'<init>','()V');
bmCZYMAPOBJ := JVM.NewObjectV(bmCZYMAPClass,bmCZYMAPmid,nil);
bmCZYMAPmid := JVM.GetMethodID(bmMAPSubClass,'put','(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;');
JVM.CallNonvirtualObjectMethod(bmCZYMAPOBJ,bmCZYMAPClass,bmCZYMAPmid,[1, JFVS]);
end;