我有以下结构:|----------|----------|----|---|| STRUCTURE 'NameOfStructur' ||----------|----------|----|---||Num |A |B |C ||----------|----------|----|---||0123456789|0123456789|0123|456||----------|----------|----|---|| | | | ||----------|----------|----|---|我用它打印:JCoStructure struct = exportParameters.getStructure(paramName);System.out.println(struct.toString());与:JCoStructure struct = exportParameters.getStructure(paramName);JCoFieldIterator fieldIt = struct.getFieldIterator();while (fieldIt.hasNextField()) { JCoField field = fieldIt.nextField(); System.out.println(field.getName());}我收到了属性名称 ( Num, A, B, C) 但我仍然无法从这个结构中获取值。field.getValue()只是返回null并field.toString()传递一个对象引用值。有人知道如何接收这个值吗?
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
JCoField.getName()
获取字段的名称并为该字段的值使用适当的 getter 方法,例如JCoField.getString()
应该始终有效。如果可行,其他 getter 方法将即时进行类型转换,例如JCoField.getInt()
,如果字段包含字符串“623521”作为值,则将工作并返回原始 int 623521。
在您的示例中,结构中的所有字段当前都是空的,因此JCoField.getString()
将返回“”。
顺便说一句,您不需要使用字段迭代器。您还可以JCoStructure
通过使用字段的名称或其索引直接从 访问字段值,例如 useJCoStructure.getString("Num")
或JCoStructure.getString(0)
。
jeck猫
TA贡献1909条经验 获得超7个赞
答案很简单,
|0123456789|0123456789|0123|456|
就像使用“toString()”打印时每个“空”和非空表/结构上的分界线一样。认为这是我们的 test-sap-system 上的条目。所以这是完全正确的,我会为每个条目收到一个“空”,因为这些数据结构还为空。
所以基本上@Trixx 关于如何从 JCoStructures/JCoFields 检索值是完全正确的,但我的问题不是我无法从文档中检索正确的方法,而是没有记录打印出来的行是分隔线,而不是我认为的示例数据元组。
添加回答
举报
0/150
提交
取消