Path: csiph.com!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Eric Sosman Newsgroups: comp.lang.java.programmer Subject: Re: verbose sort Date: Thu, 02 Aug 2012 12:28:58 -0400 Organization: A noiseless patient Spider Lines: 38 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 2 Aug 2012 16:29:01 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="d3779b2c4a3397eb5709eec94bad057a"; logging-data="24665"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ZrbmQXvlXotGgDta9CDJF" User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 In-Reply-To: Cancel-Lock: sha1:Q7s0F/XIqiWzOc0J2OWv6Dyzj88= Xref: csiph.com comp.lang.java.programmer:16963 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