java String对象中‘==’,equals与compareTo函数的使用和区别
来源:互联网 发布:python获取股票数据 编辑:程序博客网 时间:2024/05/16 16:12
java String类中可能最让初学者容易混淆的两个东西就是"==“,与"equals"的区别了,因为他们都是用来比较字符串的,那么它们有什么区别呢,下面简单谈谈这两者的区别:
”equals“: 比较的是两个字符串中的每个字符是否相同,例如:a="1243", b="1243",那么a.equals(b)就会返回TRUE,因为a和b两个字符串中的每一个字符都相同,如果对a或者b中的任何一个做任何修改,equals()就会返回false。
”==":比较的是两个字符串是否同时引用的一个地址,如果a=new String("abc"); a = b;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): trueb.equals(c): truea == b: truea == c: falsea == f: falsec == e: truef.compareTo(c): 16a.compareTo(c): 0
0 0
- java String对象中‘==’,equals与compareTo函数的使用和区别
- 在Java 中,关于String的 compareTo()、equals()和== 的区别
- java.lang.String中equals(Object anObject)与compareTo(String anotherString)的区别
- Java中equals()、==、compareTo()的区别
- 关于 compareTo() , equals,和==使用上的区别
- java中BigDecimal的equals与compareTo的区别
- java中equals和compareTo的区别---解惑
- java中equals和compareTo的区别---解惑
- java:string对象equals 和 == 的区别
- java中==与 String中 equals 和对象中equals比较
- Java和C#中String直接赋值与使用new创建(==与equals进行比较)的区别
- Java中String的equals==与区别
- (java)String 中 ==与equals方法 的区别
- Java 中 String equals与==的区别
- 比较compareTo与equals及==的区别
- compareto与equals的区别
- Java中String的==和equals区别
- Java_tips1:compareto(),equals()和==区别
- WJBMBR 题解收集
- SOBS(背景建模)
- QtXMLPattern的基本概念
- android 构建 Drawable对象 TextView和ImageView一起显示
- linux学习笔记2--管理磁盘存储器
- java String对象中‘==’,equals与compareTo函数的使用和区别
- XML,DTD基础学习
- Libpcap库主要函数
- leetcode 二分查找 Search for a Range
- python随机数生成
- 取消Eclipse的自动代码格式化
- linux常用命令之tail
- Trapping Rain Water
- cookie和session的区别