学习日记-==和equals的区别
来源:互联网 发布:贵金属软件下载 编辑:程序博客网 时间:2024/06/02 02:39
----------- android培训、java培训、期待与您交流! ------------
==和equals的区别
在学习的过程中发现有两个判断相等的方法就是“==”和equals,但是就是不明白为什么会有两种方法来判断,它们相等,我想它们肯定会有区别,经过自己的实验和查资料现在将一些心得和小例子分享给大家。
当使用==来判断两个变量是否相等时,如果两个变量是基本的数据类型,并且是数值类型时,则只要两个变量的值相等就会输出true但是对于引用类型的变量,他们必须要指向同一个对象时,使用==才会判断其相等输出true,但是需要注意的是,==不可用于比较类型上没有父子关系的两个对象。
下面是一个测试程序:
public class EqualTest
{
public static void main(String[] args)
{
int it = 65;
float fl = 65.0f;
//将输出true
System.out.println("65和65.0f是否相等?" + (it == fl));
char ch = 'A';
//将输出true
System.out.println("65和'A'是否相等?" + (it == ch));
String str1 = new String("hello");
String str2 = new String("hello");
//将输出false
System.out.println("str1和str2是否相等?"
+ (str1 == str2));
//将输出true
System.out.println("str1是否equals str2?"
+ (str1.equals(str2)));
//由于java.lang.String与EqualTest类没有继承关系,
//所以下面语句导致编译错误
System.out.println("hello" == new EqualTest());
}
}
在此需要知道常量池的概念,常量池是专门用于管理在编译期间被确定并被保存在已编译的class文件中的一些数据,它包括了关于类的方法接口中的常量,还包括字符串常量。
下面是另一个测试程序:
public class StringCompareTest
{
public static void main(String[] args)
{
String s1="长大了";
String s2="长大";
String s3="了";
String s4=new String("长大了");
System.out.println(s1==(s2+s3));//输出true;
System.out.println(s1==s4);//输出false;
}
}
----------- android培训、java培训、期待与您交流! ------------
- 学习日记-==和equals的区别
- “=”和“equals()”的区别
- Java 学习笔记-基础-"=="和equals()的区别。
- JAVA学习笔记 ---equals、hashcode和==的区别
- java ==和equals、equals和hashCode的区别
- 关于“==”和“equals”的区别
- 关于Equals 和== 的区别
- equals和==的区别
- equals 和 == 的区别
- equals 和 == 的区别
- ==和Equals的区别
- equals 和 == 的区别
- equals 和 == 的区别
- equals和==的区别
- equals 和 == 的区别
- equals和==的区别
- 关于==和equals的区别
- Equals和“==”的区别
- Struts2标签如何实现For循环 像JSTL's <c:forEach begin="..." end="..." ...> 中的用法
- python urllib介绍
- 马士兵谈面试
- C语言编程实现西西弗斯串
- python urllib2模块介绍
- 学习日记-==和equals的区别
- 海量数据处理常用思路和方法
- AfxMessageBox()与MessageBox()的区别
- Dojo 与 jQuery 综合比较分析
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
- VS2010安装因net framework4.0无法安装而失败的解决方法
- codec engine代码阅读三---example文件夹
- OS复习-进程同步
- PL/SQL登录以及oracle job