String str1 = new String("abc");
String str2 = "abc";
System.out.println(str1==str2);
很疑惑,为什么返回值居然是false
解决方案 »
- 关于相对路径转换为绝对路径的问题
- JTextField 怎么设置成透明
- classloader在编译时报non-varargs call of varargs method with inexact argument错.但可以正确执行.
- ======关于带包路径的JAVA程序调用C程序的问题======
- 程序怎么写 请教大家
- 如何删除properties文件的属性
- cownew开源-java程序内存一省再省
- 新手求助!!!!!!!
- 提供MDA电子杂志,需要者跟贴回MAIL
- 为啥有错?
- 请问这程序怎么写,需要获取网页上的一个验证码的图片,然后通过一个方法(已经在在,设为X(Image a),然后模拟在网页上的一个文本框中输入,然后获取返回值
- 商品搜索比价中的分类及搜索显示价格区间的问题
new String("abc") 这是一个对象
"abc" 这是另外一个对象是不同的引用。
String str2 = "abc"; //不创建对象,字符串池已有。
System.out.println(str1==str2); //两个地址不一样。一个指向堆,一个指向池。所以是false.
String str2 = "abc"; //str2指向的是常量池的内存地址空
System.out.println(str1==str2); //肯定是false了如果判断 字符串(或对象)是否相等 ,麻烦请用:str1.equals(str2)