如何评估JCoStructure?

时间:2018-08-15 10:01:37

标签: java jco

我具有以下结构

|----------|----------|----|---|
| 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 个答案:

答案 0 :(得分:2)

JCoField.getName()获取字段名称,对于字段的值,请使用适当的getter方法,例如JCoField.getString()应该一直有效。如果可行,其他getter方法将即时进行类型转换,例如如果字段包含字符串“ 623521”作为值,则JCoField.getInt()将起作用并返回原始int 623521。

在您的示例中,结构中的所有字段当前均为空,因此JCoField.getString()将返回“”。

顺便说一句,您不需要使用字段迭代器。您还可以通过使用字段的名称或它的索引,例如从JCoStructure直接访问字段值。使用JCoStructure.getString("Num")JCoStructure.getString(0)

答案 1 :(得分:-1)

答案很简单

{{ }}
当使用“ toString()”打印时,

就像每个“空”和非空表/结构上的分型线一样。以为这是我们的测试树液系统上的条目。因此完全正确,我将为每个条目都收到一个“空”,因为这些数据结构还为空。

因此,基本上,@ Trixx对于如何从JCoStructures / JCoFields检索值完全正确,但我的问题不是我无法从文档中检索正确的方法,而是没有文档证明打印出来的是分隔线,而不是我认为的示例数据元组。