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())