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