7

Is something like this ever possible?

if(a == b == c)

or is

if((a== b) && (b == c)) 

is the only way?

or what is the coolest way to do that?

5 Answers 5

10

In some languages you can use that shorthand. For example in Python a == b == c is roughly equivalent to the expression a == b and b == c, except that b is only evaluated once.

However in Java and Javascript you can't use the short version - you have to write it as in the second example. The first example would be approximately equivalent to the following:

boolean temp = (a == b);
if (temp == c) {
    // ...
}

This is not what you want. In Java a == b == c won't even compile unless c is a boolean.

Sign up to request clarification or add additional context in comments.

Comments

1

In java - we don't have the == shortcut operator. so we end up doing individual equalities.

But If you think you will need functionality a lot with varying number of arguments, I would consider implementing a function like this. The following is the sample code without handling exceptional conditions.

 public static boolean areTheyEqual(int... a) {
        int VALUE = a[0];   
        for(int i: a) {
            if(i!= VALUE)
                return false;
        }       
        return true;
    }

Comments

0

In JavaScript, your safest bet is a === b && b === c. I always avoid using == in favor of === for my own sanity. Here's a more detailed explanation.

Comments

0

In Scala you can use tuples for this:

(a, b) == (c, c)

This will check a == c and b == c, i.e same as a == b == c

Comments

-2

To get the max value out of three numbers, one line method:

int max = (a > b && a > c) ? a : ((b > a && b > c) ? b : c);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.