“==”运算符与equals()方法的区别
前者用于比较两个引用数据类型的变量的值是否相等,
后者用于比较两个引用变量所指向的对象的内容是否一样
举个例子吧
- class YDemo
- {
- public static void main(String[] args)
- {
- Integer x=new Integer(1);
- Integer y=new Integer(1);
- Integer z=x;
- if (x==z)
- {
- sop("true");
- }
- else
- sop("false");
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
复制代码
输出结果为true
因为x和z都指向同一个地址值的对象
若判断条件是x==y的话,那么输出结果为false,因为二者的地址值是不一样的
若是判断条件为x.equals(y)的话,那么输出结果是true,equals()判断的所引用对象的内容是否一致 |