This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes == in String Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "== in String" Watch "== in String" New topic
Author

== in String

praveen Shangunathan
Ranch Hand

Joined: Sep 06, 2005
Posts: 65
1. String k = "String";
2. String l = " String ";
3. String m = l.trim();
(k == l) //false (seems obvious)
(k == m) //false (why is a new String object created when there is already a "String" in the pool)
Tony Morris
Ranch Hand

Joined: Sep 24, 2003
Posts: 1608
Because the API Specification demands it:


Returns a copy of the string, with leading and trailing whitespace omitted.

If this String object represents an empty character sequence, or the first and last characters of character sequence represented by this String object both have codes greater than '\u0020' (the space character), then a reference to this String object is returned.

Otherwise, if there is no character with a code greater than '\u0020' in the string, then a new String object representing an empty string is created and returned.

Otherwise, let k be the index of the first character in the string whose code is greater than '\u0020', and let m be the index of the last character in the string whose code is greater than '\u0020'. A new String object is created, representing the substring of this string that begins with the character at index k and ends with the character at index m-that is, the result of this.substring(k, m+1).

This method may be used to trim whitespace (as defined above) from the beginning and end of a string.


Your question might better be rephrased, "why does the API specification appear unintuitive?", to which one can only speculate.


Tony Morris
Java Q&A (FAQ, Trivia)
praveen Shangunathan
Ranch Hand

Joined: Sep 06, 2005
Posts: 65
Thanks Tony.
 
Consider Paul's rocket mass heater.
 
subject: == in String
 
Similar Threads
compare the contents of tow arrays
Fybunic series
charAt problem....
Increment Test
BubbleSort