在java中String a="a",b="a";a==b为什么返回true?
来源:互联网 发布:矩阵除法 编辑:程序博客网 时间:2024/05/22 04:27
String a="ab";String b="ab";System.out.println(a==b);String c="a";String d=c+"b";System.out.println(a==d);
打印结果为:true
false
这里的“ab”是字符串直接量,在java的语法中是对象,java虚拟机为了提高内存存储效率,同样序列的字符串直接量为一个实例,所以其实引用变量a和b其实是指向同一个实例,地址也就相同。引用变量比较的是地址,所以第一个打印出来为true。
由于引用变量a和d指向的地址不同,所以比较结果为false。
阅读全文
0 0
- 在java中String a="a",b="a";a==b为什么返回true?
- A^B = B^A
- A^B = B^A
- A^B = B^A
- A^B=B^A
- 在Java中,关于a=a+b与a+=b的区别
- Python a,b=b,a+b
- String b = a.intern();
- String b = a.intern(); if (b == a)
- A *a=new B();
- A *a=new B();
- A *a=new B();
- 实现B=A+A’
- A a = new B();
- a,b=b,a+b 与 a=b,b=a+b
- class A 和 class B: public A中A a; B b; A *p = &a; p->foo();相关题目
- a = b + (b = a) * 0;
- String a; String a=null; Sting a="" ;String a="b";区别
- 哈希算法-Top K
- 封装jdbc
- 关于unit3d中GUI texture 的相关问题
- 自我怀疑的开发者:你够好吗?
- 【C#】自己写构造string.Join()方法
- 在java中String a="a",b="a";a==b为什么返回true?
- ElasticSearch学习
- Java用户注册手机短信验证码校验功能实现
- 2017年快结束了 你的小目标定好了么?
- 第十周 项目4
- Struts拦截器的使用
- Hexo+GitHub Pages 加入文章跟帖功能
- STM32F469I-DISCO移植Linux4.13.12
- spring4 quartz 定时任务亲测