If without else ternary operator
So far from I have been searching through the net, the statement always have if and else condition such as a ? b : c
. I would like to know whether the if
ternary statement can be used without else
.
Assuming i have the following code, i wish to close the PreparedStatement
if it is not null
(I am using Java programming language.)
PreparedStatement pstmt;
//....
(pstmt!=null) ? pstmt.close : <do nothing>;
Solution 1:
No, you cannot do that. Instead try this:
if(bool1 && bool2) voidFunc1();
Solution 2:
Why using ternary operator when you have only one choice?
if (pstmt != null) pstmt.close();
is enough!
Solution 3:
As mentioned in the other answers, you can't use a ternary operator to do this.
However, if the need strikes you, you can use Java 8 Optional and lambdas to put this kind of logic into a single statement:
Optional.of(pstmt).ifPresent((p) -> p.close())