"=="和equals方法的区别
来源:互联网 发布:鼎豪网络 编辑:程序博客网 时间:2024/05/01 06:09
1、
==操作符专门用来比较变量的值是否相等。比较好理解的一点是:
int a=10;
int b=10;
则a==b将是true。
但不好理解的地方是:
String a=new String("foo");
String b=new String("foo");
则a==b将返回false。
对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a和b都使用了new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用"=="操作符,结果会是false。诚然,a和b所指的对象,它们的内容都是"foo",应该是“相等”,但是==操作符并不涉及到对象内容的比较。
对象内容的比较,正是equals方法做的事。
2、
public static void main(String[] args)
{
String ss=new String("gdd");
String dd=new String("gdd");
System.out.println(ss.equals(dd));
System.out.println(ss==dd);
}
结果:
true
false
参考:
JDK源码分析:java.lang.String
Java String对象的经典问题(new String())
- "==" 和 equals方法的区别
- "=="和equals方法的区别
- "=="和equals方法的区别
- equals方法和“==”的区别
- equals和"=="方法的区别
- equals()方法和“==”的区别
- "=="和equals方法的区别
- "=="和equals方法的区别?
- equals()方法和“==”的区别
- "=="和equals方法的区别
- "=="和equals方法的区别
- "==" 和 .equals()方法的区别
- "=="和equals方法的区别?
- ==和equals方法的区别
- "=="和equals方法的区别?
- "=="和equals方法的区别?
- “==”和equals方法的区别
- "=="和equals方法的区别
- 电子书(链接)
- freepbx 录音文件过多时,提示 too many file 时的解决方法
- Asterisk perl agi
- Servlet的三种监听器
- FMS与FMLE视频会议
- "=="和equals方法的区别
- poj 部分题目分类总结
- Oracle exp/imp导出导入工具的使用
- JAVA经典习题集
- sleep和wait有什么区别
- Yacc 与 Lex 学习 [1]
- SSH框架
- Asterisk manager API(AMI)文档(中文版)
- 两表联查