Java String compareTo() 方法:如何与示例一起使用
什么是 Java 中的 compareTo() 方法?
compareTo() 用于按字典顺序比较两个字符串。两个字符串的每个字符都转换为 Unicode 值。但是,如果两个字符串相等,则此方法返回 0,否则仅返回负值或正值。
Java String compareTo() 方法在接口 java.lang.Comparable 中定义
语法:如何在 Java 中编写 compareTo() 方法 :
public int compareTo(String str)
参数输入:
str – Java 中的 compareTo() 函数只接受一种输入字符串数据类型。
方法返回:
这个 compareTo() Java 方法返回一个 int 数据类型,它基于两个字符串之间的字典比较。
- 返回 <0 则调用该方法的 String 按字典顺序排列在前
- 返回 ==0 则这两个字符串在字典上是等价的
- 返回> 0,则传递给 Java compareTo() 方法的参数按字典顺序排列。
Java String compareTo() 方法示例:
compareTo() Java 示例 1:
public class Sample_String { public static void main(String[] args) { String str_Sample = "a"; System.out.println("Compare To 'a' b is : " + str_Sample.compareTo("b")); str_Sample = "b"; System.out.println("Compare To 'b' a is : " + str_Sample.compareTo("a")); str_Sample = "b"; System.out.println("Compare To 'b' b is : " + str_Sample.compareTo("b")); } }
输出
比较‘a’ b 是:-1
比较‘b’ a 是:1
比较‘b’ b 是:0
在这里,
- 字符 a 按字母顺序排在 b 之前。因此输出为 -1
- 字符 b 按字母顺序出现在 a 之后。因此输出为 1
- 字符 b 等价,因此输出为 0。
如果您不希望结果区分大小写,可以使用方法 Use “compareToIgnoreCase”。让我们通过一个 Java compareTo() 示例来理解。
compareTo() Java 示例 2:
public class Sample_String { public static void main(String[] args) { //Compare to a String String str_Sample = "RockStar"; System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar")); //Compare to - Ignore case System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR")); } }
输出
与“ROCKSTAR”比较:-32
与“ROCKSTAR”比较 - 忽略大小写:0
什么时候在 Java 中使用 compareTo() 方法?
Java String compareTo() 方法用于对字符串进行自然排序。自然排序是指应用于对象的排序顺序,例如字符串的词法顺序,整数的数字顺序等。
词汇顺序只不过是字母顺序。 compareTo() Java 方法对字符串中具有相同位置的字母进行顺序比较。
在此方法中,如果第一个字符串在字典顺序上总是高于第二个字符串,则返回一个正数。
如果a1> a2,则返回负数
如果a1
如果a1 ==a2,则返回0
让我们用Java String compareTo() 例子来理解。
compareTo() Java 示例 3:
输出:
字符串 1:Guru1public class Compare {
public static void main(String[] args) {
String s1 = "Guru1";
String s2 = "Guru2";
System.out.println("String 1: " + s1);
System.out.println("String 2: " + s2);
// Compare the two strings.
int S = s1.compareTo(s2);
// Show the results of the comparison.
if (S < 0) {
System.out.println("\"" + s1 + "\"" + " is lexicographically higher than " + "\"" + s2 + "\"");
} else if (S == 0) {
System.out.println("\"" + s1 + "\"" + " is lexicographically equal to " + "\"" + s2 + "\"");
} else if (S > 0) {
System.out.println("\"" + s1 + "\"" + " is lexicographically less than " + "\"" + s2 + "\"");
}
}
}
字符串 2:Guru2
“Guru1”在字典上高于“Guru2”
java
- Java 中的 String Length() 方法:如何通过示例查找
- Java String indexOf() 方法与子字符串和示例
- Java String charAt() 方法及示例
- Java String contains() 方法 |用示例检查子字符串
- Java String endsWith() 方法及示例
- Java String replace()、replaceAll() 和 replaceFirst() 方法
- Java BufferedReader:如何通过示例在 Java 中读取文件
- 如何在 Java 中将字符转换为字符串(示例)
- 如何使用递归在 Java 中反转字符串
- Python Print() 语句:如何通过示例打印
- 带有示例的 Python 字符串计数()
- Python String format() 举例说明