一、概述
在这个简短的教程中,我们将探索在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
。
0 评论