Java中字符串如何比较字符串

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

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()));
    }
}

结果:

-32
0
0

示例二:使用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:hello
s2:hello
s3:hello
s4:hello
----------比较内容是否相等---------------
true
true
true
----------比较引用地址是否相等---------------
true
false
false

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值