2014-10-23 15 views
-3

Я пытался Google, но googling ключ "?" на самом деле это не очень хорошо. Я действительно хочу знать, что он делает и когда его использовать.Что означает "?" Что делать в 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"); 
+7

Проводка кода который использует этот символ, поможет определить его значение. – manouti

+0

? знак равно "Каков твой вопрос?" – Thalaivar

+1

Я googled для «вопросительного знака оператора java» --- и догадываюсь, что я нашел. –

ответ

8

Это троичный оператор. В частности, в Java это называется Conditional Operator. Это способ написания коротких простых заявлений if..else. Например:

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

такая же, как:

c = a == b ? 123 : 456; 
7

Он также используется для подстановки родовым.

public List<?> getBizarreList(); 
1

Тройной оператор someBoolean ? x : y вычисляет x если someBoolean верно, и y иначе.

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); 
Смежные вопросы