aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/String.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/String.java')
-rw-r--r--libjava/java/lang/String.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/libjava/java/lang/String.java b/libjava/java/lang/String.java
index 9937374..bc21afd 100644
--- a/libjava/java/lang/String.java
+++ b/libjava/java/lang/String.java
@@ -10,6 +10,7 @@ package java.lang;
import java.io.UnsupportedEncodingException;
import java.io.Serializable;
import java.lang.Comparable;
+import java.util.Comparator;
/**
* @author Per Bothner <bothner@cygnus.com>
@@ -17,7 +18,7 @@ import java.lang.Comparable;
*/
/* Written using "Java Class Libraries", 2nd edition, plus online
* API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete to 1.1, but see FIXMEs. Also see testsuite results.
+ * Status: Complete to 1.3.
*/
public final class String implements Serializable, Comparable
@@ -30,6 +31,14 @@ 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;
+ static Comparator CASE_INSENSITIVE_ORDER = new Comparator()
+ {
+ public int compare (Object o1, Object o2)
+ {
+ return ((String) o1).compareToIgnoreCase ((String) o2);
+ }
+ };
+
public String ()
{
init();
@@ -182,6 +191,12 @@ public final class String implements Serializable, Comparable
{
return compareTo ((String)obj);
}
+
+ public int compareToIgnoreCase (String str)
+ {
+ return this.toUpperCase().toLowerCase().compareTo(
+ str.toUpperCase().toLowerCase());
+ }
public native boolean regionMatches (int toffset,
String other, int ooffset, int len);