java中equals()函数和"=="的区别
来源:互联网 发布:大数据平台是什么意思 编辑:程序博客网 时间:2024/06/11 03:49
1.对于基本类型:int,short,float,double,byte,char,boolean
只能使用==比较值的大小,比较结果返回true或者false,不能使用equals()函数。
例如:
int a=1;int b=1;System.out.println(a==b); //trueSystem.out.println(a.equals(b)); //编译出错
2.对于基本类型的封装类:Integer,Float,Double,Byte,Boolean
可以使用==和equals()函数进行比较,其中==是用来比较类对象地址;equals()是用来比较值的大小。
例如:
Integer a=new Integer(1);Integer b=new Integer(1);System.out.println(a==b); //falseSystem.out.println(a.equals(b)); //true或者(不建议)Integer a= 1;Integer b=new Integer(1);System.out.println(a==b); //false a和b比较时,a会将基本类型自动转换成基本类型的封装类System.out.println(a.equals(b)); //true特别注意:(不建议)Integer a= 1;Integer b= 1;System.out.println(a==b); // true,这样写他们会比较a,b的值等同于a.equals(b)System.out.println(a.equals(b)); //true
3.对于自定义类和类库中的类对象:
可以使用==和equals()函数进行比较,其中== 和函数equals()都是用来比较类对象地址。
例如:
MyObject mo1=new Myobject();MyObject mo2=new Myobject();System.out.println(mo1==mo2); //falseSystem.out.println(mo1.equals(mo2)); // false或者MyObject mo1=new Myobject();MyObject mo2= mo1; //mo2指向mo1System.out.println(mo1==mo2); //trueSystem.out.println(mo1.equals(mo2)); // true
4.对于String
例如:
String a=new String("1");//创建字符串对象String b=new String("1");//创建字符串对象System.out.println(a==b); //falseSystem.out.println(a.equals(b)); //true如果这样写,==就是比较对象地址;equals()是用来比较值的大小。特别注意:(不建议)String a="1";String b="1";System.out.println(a==b); //trueSystem.out.println(a.equals(b)); //true如果这样写,==和函数equals()都是用来比较值的大小。
0 0
- java中equals()函数和"=="的区别
- Java中==和equals的区别,equals和hashCode的区别
- Java中==和equals的区别,equals和hashCode的区别
- Java 中==和 equals 的区别, equals 和 hashCode 的区别
- Java中==和equals的区别,equals和hashCode的区别
- Java语法----Java中equals和==的区别
- Java语法----Java中equals和==的区别
- Java语法----Java中equals和==的区别
- Java语法----Java中equals和==的区别
- java String对象中‘==’,equals与compareTo函数的使用和区别
- Java 中 equals 和 == 的区别和联系
- Java中==和equals的区别和联系
- java中字符串的equals和==的区别
- java中 ==和 equals区别
- java中"==" 和 equals区别
- Java中equals和==区别
- Java 中equals和==区别
- java中==和equals区别
- LeetCode 219--- Contains Duplicate II
- SSKeychian 的理解 以及关于生成app的唯一标示,类似于UUID
- MySql学习:自定义函数之带参函数
- js定时调用相关
- 华为底部物理键盘适配问题
- java中equals()函数和"=="的区别
- .net字节流转换为Bitmap图像
- hibernate 映射继承关系的三种方法
- 程序员独有的礼物
- 【Python】【PyQt】ComboBox
- Android API23(6.0)以上手机必须手动检测读取权限
- Java 多线程 任务间使用管道进行输入/输出
- SVM(支持向量机)算法原理和实际应用
- LDA(Latent Dirichlet Allocation)主题模型