什么是“?”关键做Java?

时间:2014-10-23 19:16:54

标签: java

我一直试图谷歌,但谷歌搜索关键"?"并没有真正解决这个问题。 我真的想知道它的作用以及何时使用它。

谢谢!

我已经看过几次了,但这是我刚才看到的一个例子

String name = perms.calculateRank().getColor() + player.getName();
//This is a custom ranking system ^
player.setPlayerListName(name.length() > 15 ? name.substring(0, 16) : name);
player.setDisplayName(name + ChatColor.RESET);
Chat.sendMessage(player, "Tab Name Set");

4 个答案:

答案 0 :(得分:8)

这是三元运算符。特别是在Java中,它被称为 Conditional Operator 。这是一种编写简写if..else语句的方法。例如:

if (a == b) {
   c = 123;
} else {
   c = 456;
}

与:

相同
c = a == b ? 123 : 456;

答案 1 :(得分:7)

它也用于通配符通用。

public List<?> getBizarreList();

答案 2 :(得分:1)

如果someBoolean ? x : y为真,则三元运算符x评估为someBoolean,否则为y

答案 3 :(得分:1)

它被称为三元运算符,它只是运算符,它采用3个操作数。更好的意义是,它是表示较短格式的条件运算符

常规语法

boolean expression ? value1 : value2

你的例子:

 player.setPlayerListName(name.length() > 15 ? name.substring(0, 16) : name);

一样
  if( name.length() > 15)
    player.setPlayerListName(name.substring(0, 16));
  else
    player.setPlayerListName(name);