JavaLib.storeField

系统函数 JavaLib.storeField 将类字段或对象字段的值放到 EGL Java™ 对象空间中。如果用来存储该对象的标识已存在于对象空间中,则此操作等同于下列步骤:

如果类或对象字段包含 Java 基本类型而不是对象,则 EGL 将存储表示该基本类型的对象;例如,如果字段包含一个 int,则 EGL 将存储类型为 java.lang.Integer 的对象。


JavaLib.storeField 语法图
storeId
要与对象存储在一起的标识。

此自变量是字符串文字或类型为 CHAR、DBCHAR、MBCHAR 或 UNICODE 的项。必须将该标识强制类型转换为 objID,如稍后的示例所示。EGL 将从自变量值的开头和末尾除去单字节和双字节空格,其中,自变量值是区分大小写的。

identifierOrClass
此自变量是下列其中一个实体:
  • 引用对象空间中的对象的标识;或者
  • Java 类的标准名称。

此自变量是字符串文字或类型为 CHAR、DBCHAR、MBCHAR 或 UNICODE 的项。如果正在指定对象的标识,则该标识必须被强制类型转换为 objID,如稍后的示例所示。如果您打算在下一个自变量中指定静态字段,则建议在此自变量中指定一个类。

EGL 将从自变量值的开头和末尾除去单字节和双字节空格,其中,自变量值是区分大小写的。

field
引用对象的字段的名称。

此自变量是字符串文字或类型为 CHAR、DBCHAR、MBCHAR 或 UNICODE 的项。将从字符串的开头和末尾除去单字节和双字节空格,其中,字符串是区分大小写的。

下面是一个示例:
  JavaLib.storeField( (objId)"myStoreId", 
    (objId)"myId", "myField");

在处理 JavaLib.storeField 期间发生的错误会将 sysVar.errorCode 设置为下表中列示的值。

sysVar.errorCode 中的值 描述
00001000 被调用方法抛出异常,或者作为类初始化的结果而抛出异常
00001001 对象为 null,或者指定的标识不在对象空间中
00001002 具有指定名称的公用方法、字段或类不存在或无法被装入
00001007 在尝试获取关于方法或字段的信息时抛出了 SecurityException 或 IllegalAccessException;或者尝试设置已被声明为最终字段的字段的值
00001009 必须指定标识而不是类名;方法或字段不是静态的

相关概念

相关任务
语法图

相关参考
EGL 库 JavaLib
JavaLib.getField
JavaLib.invoke
JavaLib.isNull
JavaLib.isObjID
JavaLib.qualifiedTypeName
JavaLib.remove
JavaLib.removeAll
JavaLib.setField
JavaLib.store
JavaLib.storeCopy
JavaLib.storeNew

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.