diff options
author | Bryce McKinlay <bryce@albatross.co.nz> | 2000-09-13 06:36:25 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2000-09-13 07:36:25 +0100 |
commit | 0f94c029e96443582656f791f4f29fb353f75897 (patch) | |
tree | d1ce9437fa18890703cab6233079cd8bcce1b50d /libjava/java/lang/String.java | |
parent | bb07060a6aa5000a59e7d4f2a7d37b929980ec2d (diff) | |
download | gcc-0f94c029e96443582656f791f4f29fb353f75897.zip gcc-0f94c029e96443582656f791f4f29fb353f75897.tar.gz gcc-0f94c029e96443582656f791f4f29fb353f75897.tar.bz2 |
String.java (CASE_INSENSITIVE_ORDER): New static field.
2000-09-13 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/String.java (CASE_INSENSITIVE_ORDER): New static field.
Initialize with anonymous class.
(compareToIgnoreCase): New method.
* java/lang/ThreadGroup.java (had_uncaught_exception): New field.
(uncaughtException): Set had_uncaught_exception.
* prims.cc (JvRunMain): Check value of had_uncaught_exception and
exit with error status if set.
(_Jv_RunMain): Ditto.
From-SVN: r36385
Diffstat (limited to 'libjava/java/lang/String.java')
-rw-r--r-- | libjava/java/lang/String.java | 17 |
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); |