reflect 函数

适用于:勾选“是” Databricks Runtime 11.3 LTS 及更高版本

使用反射调用某个方法。

该方法可能会返回异常。 若要改为返回 NULL,请使用 try_reflect

语法

reflect(class, method [, arg1] [, ...])

参数

  • class:指定 java 类的 STRING 字面量。
  • method:指定 java 方法的 STRING 字面量。
  • argN:类型适用于所选方法的表达式。

返回

一个 STRING

示例

> SELECT reflect('java.util.UUID', 'randomUUID');
 c33fb387-8500-4bfa-81d2-6e0e3e930df2

> SELECT reflect('java.util.UUID', 'fromString', 'a5cf6c42-0c85-418f-af6c-3e4e5b1328f2');
 A5cf6c42-0c85-418f-af6c-3e4e5b1328f2

> SELECT reflect('java.lang.Integer', 'divideUnsigned',10,0);
 Error

> SELECT try_reflect('java.lang.Integer', 'divideUnsigned',10,0);
 NULL