Cli*_*ote 6 java variadic-functions
我找不到关于这个问题的任何文件.
在一些Lists和Maps,所述元素的顺序是随机的,而不是在它们被添加到列表/地图的顺序相同.关于var args是真的,还是按照它们被发送的顺序收到?
例如,我有一个表单验证方法,它采用字段名称和vararg规则列表.如果我提供规则:Rules.INT, Rules.MAX.arg(100),那么我希望在Rules.INT检查Rules.MAX规则之前首先检查规则,因为Rules.MAX假定给定值是一个正确的整数.因此,如果Rules.INT失败,那么Rules.MAX就不会被调用 - 但是如果以随机顺序接收varargs,那么Rules.MAX可能在Rules.INT任何之前被调用,然后如果该值不是整数则可以抛出异常,这是我不知道的想.
编辑:这是我使用var args的方法,以便澄清:
public boolean validate(String name, Rule... rules)
{
String value = getValue(name);
for (Rule rule : rules)
{
if (! rule.match(value) )
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我通过以下方法调用此方法validate("age", Rule.INT, Rule.MAX.arg(100) ),我可以确定在方法Rule.INT之前将对其进行迭代/检查吗?Rule.MAXvalidate()
| 归档时间: |
|
| 查看次数: |
1233 次 |
| 最近记录: |