检查具有两种不同结果的两个条件(三元运算符)

时间:2016-02-25 16:43:52

标签: java ternary-operator

我创建了一个变量

newval1 = lb + (ub - lb)*rnd.nextDouble();

必须位于两个值bounds[0]bounds[1]之间。目前,我使用三元运算符在两行中实现了此检查:

            newval1 = ((newval1<bounds[0]) ? bounds[0] : newval1);
            newval1 = ((newval1>bounds[1]) ? bounds[1] : newval1);

我毫不怀疑有一种更有效的方法可以将newval1与这些界限进行比较,最好是在一行中。有什么建议?

1 个答案:

答案 0 :(得分:8)

val = Math.min(bounds[1], Math.max(bounds[0], val));