如何评估 JCoStructure?

我有以下结构:


|----------|----------|----|---|

| 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()传递一个对象引用值。


有人知道如何接收这个值吗?


杨魅力
浏览 255回答 2
2回答

犯罪嫌疑人X

JCoField.getName()获取字段的名称并为该字段的值使用适当的 getter 方法,例如JCoField.getString()应该始终有效。如果可行,其他 getter 方法将即时进行类型转换,例如JCoField.getInt(),如果字段包含字符串“623521”作为值,则将工作并返回原始 int 623521。在您的示例中,结构中的所有字段当前都是空的,因此JCoField.getString()将返回“”。顺便说一句,您不需要使用字段迭代器。您还可以JCoStructure通过使用字段的名称或其索引直接从 访问字段值,例如 useJCoStructure.getString("Num")或JCoStructure.getString(0)。

jeck猫

答案很简单,|0123456789|0123456789|0123|456|就像使用“toString()”打印时每个“空”和非空表/结构上的分界线一样。认为这是我们的 test-sap-system 上的条目。所以这是完全正确的,我会为每个条目收到一个“空”,因为这些数据结构还为空。所以基本上@Trixx 关于如何从 JCoStructures/JCoFields 检索值是完全正确的,但我的问题不是我无法从文档中检索正确的方法,而是没有记录打印出来的行是分隔线,而不是我认为的示例数据元组。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java