Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit4.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Eric Sosman" Subject: Re: verbose sort Message-ID: <501AC32E.55955.calajapr@time.synchro.net> X-Comment-To: bob smith Newsgroups: comp.lang.java.programmer In-Reply-To: <501AC32E.55954.calajapr@time.synchro.net> References: <501AC32E.55954.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 bd2f6a43 X-FTN-REPLY: 1:261/38 398a0a0a Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 47 Date: Thu, 02 Aug 2012 19:12:03 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1343934723 69.21.70.65 (Thu, 02 Aug 2012 14:12:03 CDT) NNTP-Posting-Date: Thu, 02 Aug 2012 14:12:03 CDT Organization: tds.net Xref: csiph.com comp.lang.java.programmer:16993 To: bob smith From: Eric Sosman On 8/2/2012 11:37 AM, bob smith wrote: > I have some code that sorts a list like so: > > Vector my_list = new Vector(); > > > Comparator c = new Comparator() { > @Override > public int compare(String object1, String object2) { > if (object1 == null) > return -1; > if (object2 == null) > return 1; > object1 = object1.toLowerCase(); > object2 = object2.toLowerCase(); > return object1.compareTo(object2); > }; > }; > > Collections.sort(my_list, c); > > > This seems like a lot of code for such a common operation. Is there a more succinct way of doing this? Consider using compareToIgnoreCase(). Also, think about what happens when two null's are compared: You should return zero rather than declaring one of them "less than" the other, because otherwise your comparator is inconsistent (you can have A