gpt4 book ai didi

Java 三元(内联)运算符 : accesing comparation variables

转载 作者:行者123 更新时间:2023-12-01 08:13:39 26 4
gpt4 key购买 nike

在Java中,我有一个如下所示的表达式:

return (a.getValue() > b.getValue()) ? a.getValue() : b.getValue();

当我大约 13 岁的时候,我曾经用 MSL(mIRC Scriptint 语言)编写代码。该语言具有以下三元运算符:

return iif($valueOfA > $valueOfB, $v1, $v2);

其中$v1和$v2代表$valueOfA和$valueOfB。

我不喜欢我必须调用 a.getValue()b.getValue() 两次,而且这非常丑陋(并且破坏了内联运算符的点):

valA = a.getValue();
valB = b.getValue();
return (valA > valB ? valA : valB);

所以我正在寻找这样的东西:

return (a.getValue() > b.getValue) ? [param1] : [param2];

最佳答案

类似于:

return ((a.getValue() > b.getValue()) ? a : b)).getValue();

已经可以提供帮助了。您还可以在 A 和 B 类中实现一些方法来直接比较“A”和“B”,以便能够编写如下内容:

return ((a.greaterThan(b)) ? a : b).getValue(); // no operator overload in Java

此外,如果您使用对象,也许返回 a 或 b (而不是它们的“值”)会是一个更好的主意。

这当然取决于您对“a”和“b”的类别和用法。

关于Java 三元(内联)运算符 : accesing comparation variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15242282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com