比較Java中的字符
瀏覽人數:235最近更新:
一、概述
在這個簡短的教程中,我們將探索在 Java 中比較字符的不同方法。
我們將從討論如何比較原始字符開始。然後,我們將看看比較Character
對象的不同方法。
2. 比較原始**字符**
首先,讓我們首先強調如何比較原始字符。
2.1。使用關係運算符
通常,比較字符的最簡單方法是使用關係運算符。
簡而言之,Java 中的字符根據**ASCII 碼**的順序進行比較:
assertFalse('a' == 'A');
assertTrue('a' < 'v');
assertTrue('F' > 'D');
2.2.使用Character.compare()
方法
同樣,另一種解決方案是使用Character
類的compare()
方法。
簡單地說, Character類將原始類型char
的值包裝在一個對像中。 compare()
方法接受兩個char
參數並以數字方式比較它們:
assertTrue(Character.compare('C', 'C') == 0);
assertTrue(Character.compare('f', 'A') > 0);
assertTrue(Character.compare('Y', 'z') < 0);
如上圖, compare(char a, char b)
方法返回一個int
值。它表示a
和b
的 ASCII 碼之間的差異。
如果兩個 char 值相同,則返回值等於零,如果a < b
則返回值小於零,否則大於零。
3.比較字符對象
現在我們知道瞭如何比較原始字符,讓我們看看如何比較Character
對象。
3.1。使用Character.compareTo()
方法
Character
類提供compareTo()
方法來比較兩個字符對象的數值:
Character chK = Character.valueOf('K');
assertTrue(chK.compareTo(chK) == 0);
Character chG = Character.valueOf('G');
assertTrue(chK.compareTo(chG) > 0);
Character chH = Character.valueOf('H');
assertTrue(chG.compareTo(chH) < 0);
在這裡,我們使用valueOf()
方法來創建Character
對象,因為**自 Java 9 以來不推薦使用構造函數**。
3.2.使用Object.equals()
方法
此外,比較對象的常見解決方案之一是使用equals()
方法。如果兩個對象相等則返回true
,否則返回false
。
那麼,讓我們看看如何使用它來比較字符:
Character chL = 'L';
assertTrue(chL.equals(chL));
Character chV = 'V';
assertFalse(chL.equals(chV));
3.3.使用Objects.equals()
方法
Objects
類由用於操作對象的實用方法組成。它提供了另一種通過equals()
方法比較字符對象的方法:
Character chA = 'A';
Character chB = 'B';
assertTrue(Objects.equals(chA, chA));
assertFalse(Objects.equals(chA, chB));
如果字符對象彼此相等, equals()
方法返回true
,否則返回false
。
4。結論
在本文中,我們學習了多種比較 Java 中原始字符和對象字符的方法。
與往常一樣,本文中使用的代碼可以在 GitHub 上找到。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議