This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Equals Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Equals" Watch "Equals" New topic
Author

Equals

Ram Adsumalli
Ranch Hand

Joined: Oct 16, 2006
Posts: 64
Hi

I am confused with the following line code which i came across online. Can any one help what this line is doing



I understood the First condition. I am unable to follow the && condition. what exactly the equals method and ? is doing.

Thanks
Ram
marc weber
Sheriff

Joined: Aug 31, 2004
Posts: 11343

Are you familiar with the ternary operator?

x = boolean ? y : z;

Basically, if the boolean is true, then y is assigned to x. Otherwise, z is assigned to x.

The && is a short-circuiting "and" used between two booleans. If the first boolean evaluates to false, then it's impossible for the expression as a whole to be true, so it "short circuits" and the second is not evaluated. In this example, the short-circuiting is used to test whether paint.getSeq() returns a null value. If it's not null, then it can be dereferenced to call the equals method. But if it is null, then the short circuiting prevents a NullPointerException.

It appears that getSeq() is intended to return a String reference, because the equals method is checking it against a String literal (an empty String, in this case).

So if getSeq is not null, and not an empty String...


"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18486
    
  40



Basically, it is calling the getSeq() method of the paint object, which most likely returns a string. The reason I am guessing this is because it then calls the equals() method to compare it to another string.

Next, it is taking a NOT of the equals condition, with the "!" operator. Meaning it is checking to see if it is NOT equals to an empty string.

The next two terms are part of the ternary operator. If the condition is true the value is the first term, otherwise it is the second. So the value is either the string that is returned by calling paint.getPSeq(), or the string "A".

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
Ram Adsumalli
Ranch Hand

Joined: Oct 16, 2006
Posts: 64
Thanks Marck and Henry
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Equals
 
Similar Threads
can a boolean value can be accessed from java file in scriplet
Checking If Condition
Hi check this code.It is not going in if condition
throw clause in exceptions
how to compare character to comma