arraylist参数问题?

lwluser 2009-12-15 10:34:55
java代码:

public static int snd_Data(ArrayList data)
............
...........

c++:

mid = env->GetStaticMethodID( cls, "snd_Data", "(Ljava/util/ArrayList;)I");
if(mid !=0)
...............
..............

已经找到这个函数,可是我该怎么调用呢? data参数该怎么传递?
...全文
264 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunwxb 2009-12-15
  • 打赏
  • 举报
回复
创建这个方法所属的类后,实例化,然后可以直接调用的(因为static),比如:
yourclass aclsss=new youclass();
aclsss.snd_Data(ArrayList data) ;就算是调用了。
data参数传递为题:int array[]={"name",age,"sex"};由对应的构造方法(构造器)传递。
lwluser 2009-12-15
  • 打赏
  • 举报
回复
我在用c++调用java的class文件,在c++中我只能用env->CallStaticIntMethod去调用这个函数,像这样:

status = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
if (status != JNI_ERR)
{
cls = env->FindClass("cn/gov/cwl/dtclient/DTService");
if (cls==0)
{
cout<<"c++: not found class!"<<endl;
jvm->DestroyJavaVM();

.............
.............
.............
mid = env->GetStaticMethodID( cls, "GetData", "(Ljava/lang/String;)I");
if(mid !=0)
{
cout<<"c++: static method GetData found."<<endl;
square=-1;
jstring str;
str=(*env).NewStringUTF((const char*)snd);
ret = env->CallStaticIntMethod( cls, mid,str);
cout <<"c++: sendData return:"<< ret << std::endl;


我不知道在C++中该怎么处理java的arraylist类型
justinavril 2009-12-15
  • 打赏
  • 举报
回复
ArrayList data = new ArrayList();
data.add("你需要添加的数据");//add你需要添加的数据


调用的话 因为你的snd_Date方法是static 所以直接用类名.方法名就能调用该方法。假如类名为A,那么就A.snd_Data(data)就好了。

bobo415 2009-12-15
  • 打赏
  • 举报
回复
你看data的类型 是ArrayList的
所以你在调用时 参数也应该是ArrayList类型或者是他的子类类型
SambaGao 2009-12-15
  • 打赏
  • 举报
回复
学习了。
silencexk212112 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justinavril 的回复:]
Java codeArrayList data=new ArrayList();
data.add("你需要添加的数据");//add你需要添加的数据

调用的话 因为你的snd_Date方法是static  所以直接用类名.方法名就能调用该方法。假如类名为A,那么就A.snd_Data(data)就好了。


[/Quote]

不错啊

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧