String xx = "abc";
String yy = "a"+"bc";
System.out.println(xx == yy);
这样输出的是true,那么equals对于String还有意义吗?
String yy = "a"+"bc";
System.out.println(xx == yy);
这样输出的是true,那么equals对于String还有意义吗?
解决方案 »
- 我想在字符串str中寻找字符a的位置
- Jtree如何获得节点在树中坐标位置?
- 问个批处理的问题
- 请问:关于jfreechart中的BarChart3DDemo4.java中怎么让数值显示在柱子顶上。
- 进行https连接的时候,设置代理服务器是否和http连接一样
- 判断重复值的奇怪问题,请各位高手指点一下
- 急!用Java Mail发信总是失败
- 请教一个初级问题,我不会JAVA,.class是不是经过编译的java程序,能用什么软件打开吗
- **超级简单问题**请问java如何定义数组?
- TOMCAT占用CPU100%问题
- JSplitPane LeftComponent 大小
- FTP如何解析dir list等命令返回的数据
当然有意义了,你那个只是碰巧输出true而已
碰巧输出 TRUE?
求 反例
java把String 做了常量优化,也就是运算时把它做了处理,以下代码输出就说明问题了
String a = new String ("a");
String b = new String ("a");
System.out.println(a==b);
String xx = "aabc";
String aa = "aa";
String bc = "bc";
String yy;
System.out.println(System.identityHashCode(xx));
System.out.println(System.identityHashCode(aa));
System.out.println(System.identityHashCode(bc));
yy = aa + bc;
System.out.println(System.identityHashCode(yy));
yy = "aa" + "bc";
System.out.println(System.identityHashCode(yy));1641745
11077203
14576877
12677476
1641745
hashCode对对象内部地址进行了整数的转化