java String对象中‘==’,equals与compareTo函数的使用和区别

        java String类中可能最让初学者容易混淆的两个东西就是"==“,与"equals"的区别了,因为他们都是用来比较字符串的,那么它们有什么区别呢,下面简单谈谈这两者的区别:

        ”equals“: 比较的是两个字符串字面上每个字符是否相同,即按字符一一比较。例如:a="1243", b="1243",那么a.equals(b)就会返回TRUE,因为a和b两个字符串中的每一个字符都相同,如果对a或者b中的任何一个做任何修改,equals()都会返回false。

        ”==":比较的是两个字符串是否引用了同一个字符串对象,如果 a=new String("abc");   b=a;   b引用的a,  所以a == b的比较就会返回TRUE。

        compareTo(): 这个函数的作用就是对两个字符串按字典排序的方式进行比较,返回两个字符串中第一个不同的字符的ascII码差值。

下面有程序代码看看测试结果:

public class equals_compareTo {  
    public static void main(String[] args) {  
        String a = "abcd";  
        String b = "abcd";  
  
        String c = new String("abcd");  
        String d = new String("abcd");  
  
        String e = c;  
        String f = "absd";  
  
        System.out.println("a.equals(b): " + a.equals(b));//a和b在字面上的每个字母都是相同的,所以返回TRUE  
        System.out.println("b.equals(c): " + b.equals(c));//c和b在字面上的每个字母都是相同的,所以返回TRUE  
  
        System.out.println("a == b: " + (a == b));//此处为什么会返回TRUE呢,原因是我们先定义了a="abcd",当我们再次定义b="abcd"是,系统检测到已经在内存中存在了相同的"abcd",所以b会直接引用已有的"abcd"  
  
        System.out.println("a == c: " + (a == c));//a和c不是引用的同一个对象,所以false  
        System.out.println("a == f: " + (c == d));//d和c不是引用的同一个对象,所以false  
  
        System.out.println("c == e: " + (c == e));//e引用c,所以比较会返回true  
  
        System.out.println("f.compareTo(c): " + f.compareTo(c));//比价结果是16,即第一个不同的字母s与c的ascII码差值  
        System.out.println("a.compareTo(c): " + a.compareTo(c));//ac值相同,返回0  
    }  
}  

  程序的运行结果如下:

a.equals(b): true
b.equals(c): true
a == b: true
a == c: false
a == f: false
c == e: true
f.compareTo(c): 16
a.compareTo(c): 0

 

 

 

 

 

 

 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
JavaString类是用来表示字符串的不可变对象。它提供了许多方法来操作字符串。 首先,String类的构造函数允许我们创建一个新的字符串对象。我们可以使用双引号来定义一个字符串字面值,或者使用构造函数将字符数组或字节数组转换为字符串。 String类还提供了许多有用的方法来操作和检查字符串。例如,我们可以使用length()方法来获得字符串的长度。我们还可以使用charAt()方法来访问字符串的特定字符,使用substring()方法来获取字符串的子字符串,或者使用indexOf()方法来查找一个字符串在另一个字符串的位置。 除了基本的操作方法外,String类还提供了一些方便的方法来处理字符串。例如,我们可以使用toUpperCase()方法将字符串转换为大写,使用toLowerCase()方法将字符串转换为小写,或者使用trim()方法删除字符串前后的空格。 此外,String类还提供了一些用于字符串比较的方法。我们可以使用equals()方法来比较两个字符串是否相等,使用compareTo()方法来比较两个字符串的大小,或者使用startsWith()和endsWith()方法来检查字符串的开头和结尾是否与指定的字符串匹配。 总的来说,String类是Java非常重要和常用的一个类。它提供了丰富的方法来操作和处理字符串,使得我们可以方便地进行各种字符串操作。这使得它在日常编程非常实用和必不可少。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值