File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
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
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.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: == in String
 
Similar Threads
charAt problem....
Fybunic series
Increment Test
compare the contents of tow arrays
BubbleSort