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