What is the Java ?: operator called and what does it do?

Yes, it is a shorthand form of int count; if (isHere) count = getHereCount(index); else count = getAwayCount(index); It’s called the conditional operator. Many people (erroneously) call it the ternary operator, because it’s the only ternary (three-argument) operator in Java, C, C++, and probably many other languages. But theoretically there could be another ternary operator, … Read more

Returning null as an int permitted with ternary operator but not if statement

The compiler interprets null as a null reference to an Integer, applies the autoboxing/unboxing rules for the conditional operator (as described in the Java Language Specification, 15.25), and moves happily on. This will generate a NullPointerException at run time, which you can confirm by trying it.

How can I use a conditional expression (expression with if and else) in a list comprehension? [duplicate]

x if y else z is the syntax for the expression you’re returning for each element. Thus you need: [ x if x%2 else x*100 for x in range(1, 10) ] The confusion arises from the fact you’re using a filter in the first example, but not in the second. In the second example you’re … Read more