目录

Search

  1. 前言
  2. 转换简介
  3. 转换端口
  4. 转换缓存
  5. 地址验证器转换
  6. 汇总器转换
  7. 关联转换
  8. 离散记录异常转换
  9. 大小写转换器转换
  10. 分类器转换
  11. 比较转换
  12. 合并转换
  13. 数据屏蔽转换
  14. 数据处理器转换
  15. 判定转换
  16. 重复记录异常转换
  17. 表达式转换
  18. 筛选器转换
  19. 层次结构到关系转换
  20. Java 转换
  21. Java 转换 API 引用
  22. Java 表达式
  23. 联接器转换
  24. 键生成器转换
  25. 标签创建器转换
  26. 查找转换
  27. 查找缓存
  28. 动态查找缓存
  29. 宏转换
  30. 匹配转换
  31. 字段分析中的匹配转换
  32. 标识分析中的匹配转换
  33. 规范器转换
  34. 合并转换
  35. 解析器转换
  36. Python 转换
  37. 等级转换
  38. 读取转换
  39. 关系到层次结构转换
  40. REST Web 服务使用者转换
  41. 路由器转换
  42. 序列生成器转换
  43. 排序器转换
  44. SQL 转换
  45. 标准创建器转换
  46. 联合转换
  47. 更新策略转换
  48. Web 服务使用者转换
  49. 解析 Web 服务 SOAP 消息
  50. 生成 Web 服务 SOAP 消息
  51. 加权平均值转换
  52. 窗口转换
  53. 写入转换
  54. 附录 , A: 转换分隔符

Developer 转换指南

Developer 转换指南

数据类型转换

数据类型转换

Java 转换会根据 Java 转换端口类型将
Developer tool
数据类型转换为 Java 数据类型。
当 Java 转换读取输入行时,它会将输入端口数据类型转换为 Java 数据类型。
当 Java 转换写入输出行时,它会将 Java 数据类型转换为输出端口数据类型。
例如,在 Java 转换中,会对 Integer 数据类型的输入端口进行以下处理:
  1. Java 转换会将输入端口的 Integer 数据类型转换为 Java 基元 Int 数据类型。
  2. 在转换过程中,转换会将输入端口的值视为 Java 基元 Int 数据类型。
  3. 当转换生成输出行时,它会将 Java 基元 Int 数据类型转换为 Integer 数据类型。
下表显示了 Java 转换是如何将
Developer tool
数据类型映射到 Java 基元和复杂数据类型的:
Developer Tool 数据类型
Java 数据类型
array*
java.util.List
bigint
long
binary
byte[]
date/time
如果启用了纳秒处理,则为具有纳秒精度的 BigDecimal
如果禁用了纳秒处理,则为具有毫秒精度的 long(自格林尼治标准时间 1970 年 1 月 1 日 00:00:00.000 起的毫秒数)
decimal
如果禁用了高精度处理,则为精度为 15 的 double
如果启用了高精度处理,则为 BigDecimal
double
double
integer
int
map*
java.util.Map
string
String
struct*
自定义的 JavaBean 类,具有适用于 struct 字段元素的 getter 和 setter
text
String
* 仅在 Spark 引擎上受支持。
在 Java 中,java.util.List、java.util.Map、String、byte[] 和 BigDecimal 数据类型为复杂数据类型。Double、int 和 long 数据类型为基元数据类型。
在 Developer tool 中,array、struct 和 map 数据类型为复杂数据类型。
Java 转换会将基元数据类型中的空值设置为零。您可以使用
输入
选项卡上的 isNull 和 setNull API 方法将输入端口中的空值设置为输出端口中的空值。有关示例,请参阅setNull
启用高精度时,decimal 数据类型将映射到 BigDecimal。BigDecimal 不能与某些运算符结合使用,例如
+
运算符。如果 Java 代码包含的表达式使用 decimal 端口或具有 decimal 数据类型元素的复杂端口,并且该端口与这些运算符之一结合使用,Java 代码将无法编译。