==和equals方法的区别和使用
2018-01-08 22:30
316 查看
1.当使用‘==’的时候,只有当两个引用变量指向同一个对象时,‘==’才会返回true;
2.当使用equals方法的时候,只需要满足两个变量所指向的内容相同即可;
3.代码展示如下:
package com.object.test;
public class ObjectEqualsTest {
public static void main(String[] args) {
//对于基本数据变量而言,i1和i2指向的都是Integer对象包装类;
int i1 = 65;
int i2 = 65;
System.out.println("输出i1和i2是否相等"+(i1==i2));
//针对于字符串进行比较
//使用==判断两个字符串是否相等
String str1 = "测试代码";
String str2 = new String("测试代码");
System.out.println("当时用==判断是输出的结果"+(str1==str2));//输出结果为false,因为他们指向的是两个对象;
System.out.println("~~~~~~~~~~");
System.out.println(str1.equals(str2));//输出结果为true,只需判断内容相同即可;
}
}
4.JVM常量池保证相同的字符串直接量只有一个,不会产生多个副本。
5.使用new关键字创建字符串对象的时候,他被保存在运行时内存区,只有当正真使用的时候米慧聪堆内存中寻找对应数据;
6.equals方法的原则:
(1)自反性;对任意的equals方法重写都将返回true;
(2)对称性;X<--->Y的关系;
(3)一致性;等价比较的信息没有发生改变;
(4)对任何不是null的值,将一定返回false;
2.当使用equals方法的时候,只需要满足两个变量所指向的内容相同即可;
3.代码展示如下:
package com.object.test;
public class ObjectEqualsTest {
public static void main(String[] args) {
//对于基本数据变量而言,i1和i2指向的都是Integer对象包装类;
int i1 = 65;
int i2 = 65;
System.out.println("输出i1和i2是否相等"+(i1==i2));
//针对于字符串进行比较
//使用==判断两个字符串是否相等
String str1 = "测试代码";
String str2 = new String("测试代码");
System.out.println("当时用==判断是输出的结果"+(str1==str2));//输出结果为false,因为他们指向的是两个对象;
System.out.println("~~~~~~~~~~");
System.out.println(str1.equals(str2));//输出结果为true,只需判断内容相同即可;
}
}
4.JVM常量池保证相同的字符串直接量只有一个,不会产生多个副本。
5.使用new关键字创建字符串对象的时候,他被保存在运行时内存区,只有当正真使用的时候米慧聪堆内存中寻找对应数据;
6.equals方法的原则:
(1)自反性;对任意的equals方法重写都将返回true;
(2)对称性;X<--->Y的关系;
(3)一致性;等价比较的信息没有发生改变;
(4)对任何不是null的值,将一定返回false;
相关文章推荐
- java中创建String类型对象的两种方式以及在使用equals()和“==”两种方法时的区别
- Java ==运算符与equals方法的区别及intern方法的正确使用
- ==和equals方法及其区别
- 细说java面试“=="和"equals"方法的区别以及常量池的概念及使用
- Java ==运算符与equals方法的区别及intern方法的正确使用
- 【从零开始】Java基础学习记录(二) == 和 equals 方法的区别和使用
- ==和equals()方法的区别
- == 和equals方法区别
- java4Android(23):equals 的使用方法 instance 操作符【==与equals方法的区别】
- java中equals和==之间的区别?clone方法的作用,及其为什么要使用clone方法?如何使用clone复制对象?以及深克隆浅克隆
- String使用equals方法和==分别比较的区别
- ==和equals方法的区别
- java中==与equals()方法的区别与使用
- 比较application,session,cookies,viewstate四个对象区别?(从原理,使用范围, 存取方法等方面来讨论)
- 类类型作为方法的参数时,使用 ref 和不使用ref的区别?
- Java中关于==和equal的区别 以及equals()方法重写
- 单选按钮和列表框的数据加载,注意equals()方法和==的区别,一个是内容,一个是地址
- "=="和equals方法究竟有什么区别?
- linux下vi与vim编辑器的区别及使用方法
- "=="和equals方法究竟的区别?