首先回答你的问题,byte[] 是不需要使用any来定义的.
IDL中的octet类型编译到java之后映射的就是byte类型.
所以你可以看看下面的例子:
#ifndef USERMANAGER_IDL
#define USERMANAGER_IDL
typedef sequence <octet> IdList;
struct User {
IdList ids;
};
#endif
编译之后的User.java中就是public byte[] ids;可以直接通过ORB.
所以对于你的问题来说最好的解决办法是直接使用byte[],而根本不用any.如果你一定要插入byte类型,使用Any.inert_octet()方法.
还是建议直接使用byte[]就可以了.
IDL中的octet类型编译到java之后映射的就是byte类型.
所以你可以看看下面的例子:
#ifndef USERMANAGER_IDL
#define USERMANAGER_IDL
typedef sequence <octet> IdList;
struct User {
IdList ids;
};
#endif
编译之后的User.java中就是public byte[] ids;可以直接通过ORB.
所以对于你的问题来说最好的解决办法是直接使用byte[],而根本不用any.如果你一定要插入byte类型,使用Any.inert_octet()方法.
还是建议直接使用byte[]就可以了.
解决方案 »
- GUI里面的面板可以是透明的吗?
- 关于 String 池 和 堆(3分高手得)
- 怎么样用JAVA实现"蜜蜂水平8字舞"急求代码
- 大哥们给小弟一点建议 考研不考妍
- 如何在代码中配置log4j的环境?
- 谁能推荐几本学习java网络和多线程的书(最后是专门介绍这些内容的)
- Java调用控制台程序,如何得到控制台程序的输出?[高手进]
- 高分求助,解决问题马上结贴,,Iframe 嵌入jsp页面,并且从iframe传高和宽参数,要此jsp页面不能有滚动条,但要显示最多条数,不管多长标题,换行数不能超过2行,请高人帮忙。。。
- 求素数的方法不明白
- 为什么我设置了环境变量还是不能得到正确的结果?
- 界面显示的问题
- jbuilder中如何建一个命令行程序?
customer.insert_string(name);
org.omg.CORBA.NVList arguments = request.arguments();
arguments.add_value("name" , customer, org.omg.CORBA.ARG_IN.value);如果不用any的话,直接插byte[],我应该怎么改呢?
byte[] bs ;
for (int i=0;i<bs.length;i++) {
customer.insert_octet(bs[i]);
}
没有尝试过,不知道对不对,包涵.:)