diff options
author | Tom Tromey <tromey@redhat.com> | 2001-09-05 19:32:57 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-09-05 19:32:57 +0000 |
commit | 7dcc5966f0e739470271e5abaf890ae5d303a4dc (patch) | |
tree | a542ad80059a7f989df6daa2b8a9dfb4488f5f4b /libjava/java/lang/String.java | |
parent | 666b0481c3a8e10c6f856c6000c6825962731430 (diff) | |
download | gcc-7dcc5966f0e739470271e5abaf890ae5d303a4dc.zip gcc-7dcc5966f0e739470271e5abaf890ae5d303a4dc.tar.gz gcc-7dcc5966f0e739470271e5abaf890ae5d303a4dc.tar.bz2 |
From Eric Blake, via Classpath:
* java/lang/String.java (CaseInsensitiveComparator): New class.
(CASE_INSENSITIVE_ORDER): Use instance of CaseInsensitiveComparator.
From-SVN: r45425
Diffstat (limited to 'libjava/java/lang/String.java')
-rw-r--r-- | libjava/java/lang/String.java | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/libjava/java/lang/String.java b/libjava/java/lang/String.java index fa59986..bed3171 100644 --- a/libjava/java/lang/String.java +++ b/libjava/java/lang/String.java @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2000 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation This file is part of libgcj. @@ -32,13 +32,44 @@ public final class String implements Serializable, Comparable // but it will avoid showing up as a discrepancy when comparing SUIDs. private static final long serialVersionUID = -6849794470754667710L; - public static final Comparator CASE_INSENSITIVE_ORDER = new Comparator() - { - public int compare (Object o1, Object o2) + /** + * An implementation for {@link CASE_INSENSITIVE_ORDER}. + * This must be {@link Serializable}. + */ + private static final class CaseInsensitiveComparator + implements Comparator, Serializable + { + /** + * The default private constructor generates unnecessary overhead + */ + CaseInsensitiveComparator() {} + + /** + * Compares two Strings, using + * <code>String.compareToIgnoreCase(String)</code>. + * + * @param o1 the first string + * @param o2 the second string + * @return < 0, 0, or > 0 depending on the case-insensitive + * comparison of the two strings. + * @throws NullPointerException if either argument is null + * @throws ClassCastException if either argument is not a String + * @see #compareToIgnoreCase(String) + */ + public int compare(Object o1, Object o2) { - return ((String) o1).compareToIgnoreCase ((String) o2); + return ((String) o1).compareToIgnoreCase((String) o2); } - }; + } + + /** + * A Comparator that uses <code>String.compareToIgnoreCase(String)</code>. + * This comparator is {@link Serializable}. + * + * @since 1.2 + */ + public static final Comparator CASE_INSENSITIVE_ORDER + = new CaseInsensitiveComparator(); public String () { |