
compareTo Java简介
compareTo()是Java中的一个方法,它以词典的方式将给定的字符串与当前的字符串进行比较。比较是在字符串中可用的字符的Unicode值的基础上进行的。
以下是compareTo()方法的不同条件。
- 如果字符串1在词典上比字符串2大,将返回一个正数。
- 如果字符串1在词典上比字符串2小,将返回一个负数。
- 如果字符串1在词典上等于字符串2,将返回'0'。
语法
下面是compareTo()方法的语法。
public int compareTo(String s2)
这里,s2是用于与当前字符串进行比较的字符串。调用该方法时将返回一个整数值。
compareTo在Java中如何工作?
compareTo()方法可以用三种方式使用。
- compareTo(String st): 这里,在字符串之间进行比较。假设有两个字符串s1和s2,s1.compareTo(s2)方法对s1和s2进行比较。
- **compareTo(Objectob):**这里,在一个字符串和一个对象ob之间做比较。假设有字符串s1和对象ob.s1.compareTo("Happy")方法比较了s1和参数中的字符串。
- compareToIgnoreCase(String s): compareTo方法的工作与第一种语法类似,不同的是它忽略了大小写。假设有两个字符串s1和s2,s1.compareToIgnoreCase(s2)方法对s1和s2进行比较,不考虑它们的大小写。
compareTo Java的例子
下面是compareTo Java的例子。
例子#1
实现比较两个字符串的compareTo方法的Java程序。
代码
public class compareToExample {
//main method
public static void main(String args[])
{
//create three strings for comparison
String s1 = "Happiness lies within you";
String s2 = "Happiness LIES WITHIN YOU";
String s3 = "Happiness lies within you";
//store comparison result of s1 and s2 in v1
int V1 = s1.compareTo( s2 );
System.out.println( " Compare s1 and s2 : "+ V1 ) ;
//store comparison result of s1 and s3 in v2
int v2 = s1.compareTo( s3 );
System.out.println( " Compare s1 and s3 : "+ v2 ) ;
//store comparison result of s2 and s3 in v3
int v3 = s2.compareTo(s3);
System.out.println(" Compare s2 and s3 : "+ v3 ) ;
}}
输出

在这个程序中,创建了三个字符串s1、s2和s3。还创建了三个变量,v1、v2和v3,分别用于存储s1&s2、s1&s3和s2&s3的比较结果。可以看出,在比较s1和s2时返回一个正数,而比较s2和s3时返回一个负数。由于s1和s3都相等,在第二种情况下返回0。
例子#2
实现compareTo方法的Java程序,比较一个字符串和一个对象。
代码
public class compareToExample {
//main method
public static void main(String args[])
{
//create a string for comparison
String s1 = "Happiness lies within you";
//store comparison result of s1 and ARGUMENT in v2
int v2 = s1.compareTo( "Happiness LIES within you");
System.out.println( " Compare s1 and argument : "+ v2 ) ;
}
}
输出

在这个程序中,首先创建了一个字符串s1和变量v1。在compareTo()方法中,另一个字符串作为参数被传递,可以看出,在比较s1和参数时,会返回一个正数。
例子#3
使用compareTo方法查找字符串的长度的Java程序。
代码
public class compareToExample {
//main method
public static void main(String args[])
{
//create three strings for comparison
String s1 = "Happiness lies within you";
String s2 = "";
//length will be returned in positive
int V1 = s1.compareTo( s2 );
System.out.println( " Length of s1 : "+ V1 ) ;
//length will be returned in negative
int v2 = s2.compareTo( s1 );
System.out.println( " Length of s1 : "+ v2 ) ;
}
}
输出

在这个程序中,创建了两个字符串,s1和s2,其中s2是一个空字符串。如果给定的字符串与一个空字符串进行比较,那么将返回非空字符串的长度。如果以相反的顺序进行比较,将返回长度的负值。
例子#4
实现compareToIgnoreCase方法的Java程序,比较两个字符串。
代码
public class compareToExample {
//main method
public static void main(String args[])
{
//create three strings for comparison
String s1 = "Happiness lies within you";
String s2 = "Happiness LIES WITHIN YOU";
String s3 = "Happiness lies within you";
//store comparison result of s1 and s2 in v1
int V1 = s1.compareToIgnoreCase( s2 );
System.out.println( " Compare s1 and s2 : "+ V1 ) ;
//store comparison result of s1 and s3 in v2
int v2 = s1.compareTo( s3 );
System.out.println( " Compare s1 and s3 : "+ v2 ) ;
//store comparison result of s2 and s3 in v3
int v3 = s2.compareToIgnoreCase(s3);
System.out.println(" Compare s2 and s3 : "+ v3 ) ;
} }
输出

正如已经看到的,compareToIgnoreCase忽略了大小写并比较了两个字符串。由于这三个字符串只在大小写上有差异,调用这个方法时将返回0。
例子#5
用Java程序实现compareToIgnoreCase方法,比较一个字符串和一个对象。
代码
public class compareToExample {
//main method
public static void main(String args[])
{
//create a string for comparison
String s1 = "Happiness lies within you";
//store comparison result of s1 and ARGUMENT in v2
int v2 = s1.compareToIgnoreCase( "Happiness LIES within you");
System.out.println( " Compare s1 and argument : "+ v2 ) ;
}
}
输出

在这个程序中,首先创建一个字符串s1和变量v1。在compareToIgnoreCase()方法中,另一个字符串被作为参数传递,可以看出,由于忽略了大小写,所以返回0。
结论
compareTo()是一个Java方法,它将给定的字符串与当前的字符串以词典的方式进行比较。在这篇文章中,我们详细介绍了compareTo()方法的不同方面,如语法、工作和例子。