java - IDL corba 中的数组和对象错误

标签 java arrays object corba idl

我在 IDL corba 中遇到数组和对象问题 这是我的代码:

    interface ISinhVien
{
    SinhVien[] DocFile(in String filename);
    void GhiFile(in SinhVien[] sv,in String filename);
};

编译时出错:

CORBA_SinhVien>idlj -fall SinhVienIDL.idl
SinhVienIDL.idl (line 3):  SinhVien is an undeclared type.
        SinhVien[] DocFile(in String filename);
         ^
SinhVienIDL.idl (line 3):  Expected `<identifier>'; encountered `['.
        SinhVien[] DocFile(in String filename);
         ^
SinhVienIDL.idl (line 3):  WARNING: Identifier `String' collides with a keyword;
 use an escaped identifier to ensure future compatibility.
        SinhVien[] DocFile(in String filename);
                       ^
SinhVienIDL.idl (line 4):  SinhVien is an undeclared type.
        void GhiFile(in SinhVien[] sv,in String filename);
                         ^
SinhVienIDL.idl (line 4):  Expected `<identifier>'; encountered `['.
        void GhiFile(in SinhVien[] sv,in String filename);
                         ^
SinhVienIDL.idl (line 4):  WARNING: Identifier `String' collides with a keyword;
 use an escaped identifier to ensure future compatibility.
        void GhiFile(in SinhVien[] sv,in String filename);

谁能帮帮我,拜托!!!!!!!!!!!!!!!!!!!!!

最佳答案

CORBA language specification不允许返回任何类型的数组,除非它们首先是类型定义的

这里有 2 个选项可用 - 固定数组或序列 - 后者更灵活,允许通过实现代码设置数组大小。

interface SinhVien {
  boolean someOperation(in long id);
  // more operations
};

typedef sequence<SinhVien> sinhviens;


interface ISinhVien
{
    sinhviens docFile(in string filename);
    void ghiFile(in sinhviens sv, in string filename);
};

旁白:请注意不要将 Java 语法与 IDL 语法混合:string 显示为全部小写

关于java - IDL corba 中的数组和对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16170484/

相关文章:

c - 为什么 C 函数不能返回数组?语言设计的基本原理是什么?

arrays - 如何使用带 Angular 复选框过滤对象数组?

java - 继承方法的切入点(在与类设计无关的上下文中)

Java:找出哪个观察者正在监听

如果我使用 Apache2(而不是 Tomcat),Java 找不到我的翻译文件

Java方法不改变参数对象

javascript - 过滤对象数组,如果 X 无法找到寻找 Y

java - 如何显示变量的值? - 安卓

Android/Java 使用 cipher.getOutputSize() 分配字节时内存不足 "OutOfMemoryError"

C 删除char数组中的重复字符