-5

当我突然想到这个问题时,我正在玩 Java 中的三元运算符。在 PHP 中,我们可以使用三元运算符进行决策,然后将一些命令(或标签)放在主文档中,如下所示(PHP 手册中的一个示例。):

echo (true?'true':false?'t':'f');

现在,在 Java 中是否可能出现类似的情况?就像,有什么类似于下面的代码的可能吗?

jButton1.getText().equals("hi")?jLabel1.setText("one"):jLabel1.setText("two")

我想要的是,只有一条语句应该根据真/假值执行。我知道这可以通过使用if-else构造更好地完成,但我只是好奇并问了这个问题。

4

3 回答 3

3

改用这个:

jLabel1.setText(jButton1.getText().equals("hi") ? "one" : "two");

根据 JLS,此运算符在 Java中称为条件运算符。您可以通过阅读前面的链接看到

第二个或第三个操作数表达式调用 void 方法是编译时错误

于 2011-08-21T17:23:40.027 回答
0

或者:

jButton1.getText ().equals ("hi") && jLabel1.setText ("one") || jLabel1.setText ("two");

JRLs 解决方案更加优雅,但如果您想根据“hi”操作不同的标签,您可能需要这种方法。

于 2011-08-21T17:28:18.533 回答
0

Java 肯定有一个三元运算符。在我看来,您使用它是正确的。如果它给我带来问题,我会尝试使用括号,但看起来你使用它是正确的。

Java 本周术语:三元运算符正在解释它。

于 2011-08-21T17:28:41.007 回答