java - MVEL 函数中的可选参数

标签 java optional-parameters mvel

有没有办法让 MVEL 2.0 ( http://mvel.codehaus.org/ ) 与带有可选参数的函数一起工作?

我希望能够评估这个:

trunc('blahblah',2)

还有

trunc('blahblah',2,'[...]');

现在我试过了:

def trunc(param1,param2,param3) { ... impl ... }

如果我尝试仅使用 3 个参数调用它,则会出现异常。 我也试过:

def trunc(param1,param2,param3) { ... impl ... } def trunc(param1,param2) { ... impl ... }

但是第二个似乎完全覆盖了第一个定义。

谢谢

最佳答案

在 Java 中,您可以声明多个具有相同名称但不同参数的方法。 这样您就可以(以有限的方式)支持可选参数。 例如:

private void method(Object obj1) {
    Object obj2 = new Object("Default");
    method(obj1, obj2);
}

private void method(Object obj1, Object obj2) {
    doStuff(...);
}

可以使用一个或两个参数调用 method() :)

关于java - MVEL 函数中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/314058/

相关文章:

java - 如何在 mvel 中迭代 map

elasticsearch - 在 Elasticsearch 查询中使用脚本时,根据它们的长度过滤构面术语

java - 用于选择多个值的 hibernate 查询

java - 在 Eclipse 中生成 java 代理类

php - 如何获取可选参数的默认值

c# - 方法参数数组默认值

java - Nim游戏问题

java - 尝试使用 itext :Exception in thread "main" java. lang.NoClassDefFoundError 签署 pdf 时出错:org/bouncycaSTLe/cert/X509CertificateHolder

vb.net - 如何在VB函数中添加可选参数/默认值参数?

android - android 上的 MVEL2 抛出异常