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

Check two conditions with two different outcomes (ternary operators)

我创建了一个变量,

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 行中。有什么建议么?

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