Beanio中INT字段的默认填充是什么?



如果未指定什么,则 int 字段的默认填充是什么?例如,在以下情况下:

在这里,我没有提到薪水字段的填充物,那么在salary=8888拨出的流式传输时的值是多少?是0088888888(2个空间,然后是8888)?

  <stream name="employeeFile">
    <record name="employee" class="example.Employee">
      <field name="firstName" length="10" />
      <field name="salary" length="6" justify="right" />
    </record> 
  </stream>

给定mapping.xml文件,当输出小于6位时,空格将用于填充。

使用firstname = "Learner"salaray = 8888的输入,将产生以下输出:

Learner     8888

在第一个名称的末尾(Learner)和薪水的第一个数字开始(8)之间,总共有5个空间。前3个空间是firstName字段的填充,以使其长度10。接下来的2个空间是salaray字段的填充。这些空间出现在salaray字段的前面,因为您指定它应该是正确的。

如果将其留在默认设备处,则salary字段将是合理的,所有字段的默认值未指定justify属性。那么两个空间将在salary字段的值之后。

要更好地看到它,让我们更改mapping.xml文件以使用星号(*)用于填充firstName字段的值并使用零(0)用于填充salary字段。

<stream name="employeeFile" format="fixedlength">
  <record name="employee" class="example.Employee">
    <field name="firstName" length="10" padding="*"/>
    <field name="salary" length="6" justify="right" padding="0"/>
  </record>
</stream>

这会产生以下输出:

Learner***008888

实际上是8888__(下划线是空格字符)

默认情况下,固定长度字段是合理的,并用空格填充[1]

相关内容

  • 没有找到相关文章

最新更新