猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
String 类型有点头痛,为什么输出false?
String s1=“a”;
String s2=s1+"b";
System.out.println(s2=="ab");
旧时光的稻草
浏览 1516
回答 2
2回答
高恒博
==是比较对象的引用位置,String s1=“a”;String s2=s1+"b";你这两句实际创建了两个对象(基本数据类型只创建一个),输出true的话,建议equal方法
1
0
0
小城阿哥
1. String s1="a"; String s2=s1+"b"; System.out.println(s2=="ab"); //输入 false 2. String s2="a"+"b"; System.out.println(s2=="ab"); //输出为true首先要知道 ==是计较 是否是同一个对象 在 1 中 涉及到变量运算 得到字符串对象会保存在各自的内存中,不会在缓冲池中查找,所以==两边指向不同对象 2 中不涉及变量 则==指向同一个对象
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续