Java中equas和==的区别是什么?
2016-08-09 21:00
197 查看
看下列代码:
String aa="123";
String bb="123";
String cc=new String("123");
System.out.println(aa==bb);
System.out.println(aa==cc);
System.out.println(aa.equals(cc));
结果分别为true,false,true
解释如下:
equal和==俩者均为表示相等的意思,但是它们相等的含义却有所区别。
“==”运用在基本数据类型的时候,通过比较它们实际的值来判断是否相同;而用于比较引用数据类型的时候,则是比较俩个引用的地址是否相等,也就是是否指向一个对象。
equals方法是java.lang.Object的方法,也就是所有的java类都会有的方法。它可以被程序员覆盖重写,通过自定义的方式来判断俩个对象是否相等。对于字符串java.lang.String类来说,它的equals方法用来比较字符串的字符序列是否完全相等。
String aa="123";
String bb="123";
String cc=new String("123");
System.out.println(aa==bb);
System.out.println(aa==cc);
System.out.println(aa.equals(cc));
结果分别为true,false,true
解释如下:
equal和==俩者均为表示相等的意思,但是它们相等的含义却有所区别。
“==”运用在基本数据类型的时候,通过比较它们实际的值来判断是否相同;而用于比较引用数据类型的时候,则是比较俩个引用的地址是否相等,也就是是否指向一个对象。
equals方法是java.lang.Object的方法,也就是所有的java类都会有的方法。它可以被程序员覆盖重写,通过自定义的方式来判断俩个对象是否相等。对于字符串java.lang.String类来说,它的equals方法用来比较字符串的字符序列是否完全相等。
相关文章推荐
- 应用管理 JNDI里面加和不加java:comp/env/前缀有什么区别?
- java和c++在面向对象上有什么区别?
- 请描述Java中异常处理机制的简单原理和应用,并说明Error与Exception有什么区别?
- 第2章 Java编程基础——FAQ2.13 成员变量和局部变量有什么区别?
- 第2章 Java编程基础——FAQ2.11 int和Integer都可以作为整数类型, 那么它们有什么区别?
- 加和不加java:comp/env/前缀有什么区别?
- 第2章 Java编程基础——FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?
- java和c++有什么区别
- java里的Hashtable和HashMap有什么区别
- 第2章 Java编程基础——FAQ2.18 在实现x递增加1操作时, x++和++x有什么区别?
- 在java中null与""有什么区别----所有的语言都是这样子
- eclipse中编译java程序,究竟跟命令行中编译java程序究竟有什么区别
- java语言与c++语言有什么区别
- JAVA中的方法和构造方法有什么区别
- Java面试系列【final、finally、finalize区别】-finalize是什么,基础篇
- java和c++在面向对象上有什么区别?
- java中throw跟throws有什么区别?
- java和c++有什么区别??
- 第1章 Java基本概念及环境配置——FAQ1.10 JDK. JRE和JVM之间有什么区别?
- 第2章 Java编程基础——FAQ2.21 ==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗?