
- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包補充
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java - Character compareTo() 方法
描述
Java 的 Character compareTo() 方法用於數值比較兩個 Character 物件。
Java Character 類中的這個內建方法接受一個 Character 物件作為引數,並被呼叫到另一個需要比較的 Character 物件上。
如果引數 Character 大於當前 Character,則該方法將產生一個負值;但如果引數 Character 小於當前 Character,則該方法返回一個正值。如果兩個物件具有相同的引用,則產生零。
注意 - 這嚴格是一個數值比較;它不依賴於區域設定。
語法
以下是 Java Character compareTo() 方法的語法
public int compareTo(Character anotherCharacter)
引數
anotherCharacter − 要比較的 Character。
返回值
如果引數 Character 等於當前 Character,則此方法返回 0 值;如果當前 Character 數值小於 Character 引數,則返回負值;如果當前 Character 數值大於 Character 引數,則返回正值。
比較兩個 Character 物件示例
以下示例演示了 Java Character compareTo() 方法的用法。我們建立了兩個 Character 變數併為其分配了 Character 物件。現在使用 compare() 方法,我們對它們進行了比較,並列印結果。
以下示例演示了 Java Character compareTo() 方法的用法。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create 2 Character objects c1, c2 Character c1, c2; // assign values to c1, c2 c1 = new Character('a'); c2 = new Character('b'); // create an int type int res; // compare c1 with c2 and assign result to res res = c1.compareTo(c2); String str1 = "Both values are equal "; String str2 = "First character is numerically greater"; String str3 = "Second character is numerically greater"; if( res == 0 ) { System.out.println( str1 ); } else if( res > 0 ) { System.out.println( str2 ); } else if( res < 0 ) { System.out.println( str3 ); } } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
Second character is numerically greater
比較包含數字的兩個 Character 物件示例
在這個例子中,讓我們用數字作為 char 值來例項化 Character 物件。呼叫該方法並比較這些數字。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create 2 Character objects c1, c2 Character c1, c2; // assign values to c1, c2 c1 = new Character('9'); c2 = new Character('1'); int result; // compare c1 with c2 and assign to result result = c1.compareTo(c2); if( result == 0 ) { System.out.println("Both values are equal "); } else if( result > 0 ) { System.out.println("First character is numerically greater"); } else if( result < 0 ) { System.out.println("Second character is numerically greater"); } } }
輸出
一旦我們編譯並執行上面的程式碼,該方法就會比較兩個輸入的數字字元,並列印輸出為:
First character is numerically greater
比較包含符號的兩個 Character 物件示例
下面的例子將符號作為字元物件,並比較這些物件的 Unicode 程式碼點以返回數值上更大的符號。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create 2 Character objects c1, c2 Character c1, c2; // assign values to c1, c2 c1 = new Character('*'); c2 = new Character('/'); int result; // compare c1 with c2 and assign to result result = c1.compareTo(c2); if( result == 0 ) { System.out.println("Both values are equal "); } else if( result > 0 ) { System.out.println("First character is numerically greater"); } else if( result < 0 ) { System.out.println("Second character is numerically greater"); } } }
輸出
編譯後,執行程式碼以獲得以下輸出:
Second character is numerically greater
使用 compareTo 方法比較兩個 char 示例
我們必須理解,Java Character compareTo() 方法只比較 Character 物件,這與 char 資料型別完全不同。但是,如果給程式的輸入是一個 char 變數,則會提示編譯時錯誤。
public class CharacterDemo { public static void main(String[] args) { char c1, c2; c1 = 'A'; c2 = 'B'; int result; result = c1.compareTo(c2); if( result == 0 ) { System.out.println("Both values are equal "); } else if( result > 0 ) { System.out.println("First character is numerically greater"); } else if( result < 0 ) { System.out.println("Second character is numerically greater"); } } }
編譯時錯誤
執行上述程式碼將導致編譯時錯誤,因為 char 變數不能引用方法。只有使用該方法所在的類的物件才有可能。
CharacterDemo.java:9: error: char cannot be dereferenced result = c1.compareTo(c2); ^ 1 error