七叶笔记 » java编程 » java如何进行字符串的比较

java如何进行字符串的比较

Java为我们提供了compareTo、“==”、equals对字符串进行比较,下面介绍一下他们的区别。

示例一:compareTo比较数据的大小 (推荐学习:java课程)

compareTo(string)compareToIgnoreCase(String)compareTo(object string)

该示例通过使用上面的函数比较两个字符串,并返回一个int类型。若字符串等于参数字符串、则返回0,字符串小于参数字符串、则返回值小于0,字符串大于参数字符串、返回值大于0。

判断字符串大小的依据是根据他们在字典中的顺序决定的。

package com.de.test;/** * Java字符串比较大小 */public class StringA {    public static void main(String[] args){        String str = "String";        String anotherStr = "string";        Object objstr = str;        System.out.println(str.compareTo(anotherStr));        System.out.println(str.compareToIgnoreCase(anotherStr));        System.out.println(str.compareTo(objstr.toString()));    }}

执行上面代码产生下面结果

-3200

示例二:使用equals(),“==”方式比较字符串

使用equals()和==,区别在于equals比较的是内容是否相等、==比较的是引用的变量地址是否相等。

package com.de.test;public class StringA {    public static void main(String[] args){        String s1 = "hello";        String s2 = "hello";        String s3 = new String("hello");        String s4 = new String("hello");        System.out.println("s1:" + s1);        System.out.println("s2:" + s2);        System.out.println("s3:" + s3);        System.out.println("s4:" + s4);        System.out.println("----------比较内容是否相等---------------");        System.out.println(s1.equals(s2));        System.out.println(s2.equals(s3));        System.out.println(s3.equals(s4));        System.out.println("----------比较引用地址是否相等---------------");        System.out.println(s1 == s2);        System.out.println(s2 == s3);        System.out.println(s3 == s4);    }}

执行上面代码产生下面结果

s1:hellos2:hellos3:hellos4:hello----------比较内容是否相等---------------truetruetrue----------比较引用地址是否相等---------------truefalsefalse

相关文章