java中==、equals的不同AND在js中==、===的不同
来源:互联网 发布:微博怎样授权手机淘宝 编辑:程序博客网 时间:2024/06/18 12:37
一:java中==、equals的不同
1.==操作符:用来比较两个相同内存中存储的变量的值是否相等,注意是相同内存地址的才可,并且数值相同才会返回true.
2.equals方法:用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。注意的是只要值相同就会返回true
3.例如:
//创建两个String对象,这两个String对象不是同一个内存地址。 String s1 = new String("a"); String s2 = new String("a"); System.out.println(s1.equals(s2)); //输出true System.out.println(s1==s2); //输出false4.注意:如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法(object为java中所有类的父类),Object类的equals方法的实现代码如下:
boolean equals(Object o){ return this==o;}也就是说,如果一个方法没有实现自己的equals方法,那么继承的object类的equals方法也是用==操作符进行比较,那么此时==与equals就没有什么不同了。
二:js中==与===的不同
1.首先===只能在js中使用,不能在java程序中使用,会报错。
2.==操作符:如果两个操作数不是同一类型,那么==运算符会尝试一些类型转换,然后进行比较。比如,char类型的变量和int类型的变量进行比较时,==会将char转化为int在进行比较。类型不同,如果可以转化并且值相同,那么会返回true。
3.===操作符:比较这两个值,比较过程没有任何类型转换。比如,类型不同,但如果转化后值相同,那么也会返回flase
4.例如:
var p1 = '1'; //字符类型的数字 var p2 = '1' ;//字符类型的数字 var p3 = 1; //整数类型的数字 p1 === p2; //类型和数值同时相等 true p1 === p3; //类型不相等和数值相等 false p1 == p3; //类型不同,但是==会自动转化类型,数值相等 true
阅读全文
1 0
- 华氏温度(0至300)与摄氏温度对照表,公式:c=(5/9)(f-32)
- DeepMind医疗数据项目被当局批评 合作医院被勒令整改
- java学习记录——类和对象的练习1
- 编程语言那么多?我该如何选择?
- create方法,非法数据类型,自动跳转
- java中==、equals的不同AND在js中==、===的不同
- 2017.10.29闵神讲课DAY2(tarjan+数论)
- 百度采用科胜讯 AudioSmart®语音解决方案,加速在第三方设备制造商中部署 DuerOS
- 陆奇:AI是中国历史性机遇 是百度的机会
- 景鲲:百度是唯一将语音交互做到听清、听懂、满足的公司
- 对话iPIN CEO杨洋、首席科学家潘嵘:除了“打造武器”,我们更想打一场人工智能“战役”
- JDK动态代理
- Android ProgressBar设置转圈样式
- 如何学习C++