12
返回列表 发新帖
楼主: learnerhui

str1与str2是同一个引用吗?

[复制链接]
论坛徽章:
1
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53
11#
 楼主| 发表于 2008-3-3 22:21 | 只看该作者
原帖由 justforregister 于 2008-3-3 09:45 发表

初学没必要研究这种问题, 浪费时间

这应该算是比较基础的东东吧,还是会用到,虽然很多时候是用来做面试题。

使用道具 举报

回复
论坛徽章:
5
奥运会纪念徽章:皮划艇激流回旋
日期:2008-05-04 09:35:35CTO参与奖
日期:2009-02-03 14:04:30ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:37
12#
发表于 2008-3-4 13:19 | 只看该作者
原帖由 learnerhui 于 2008-3-2 21:33 发表
我觉得不是,可是结果显示是。
public class HelloJAVA
{
public static void main(String[] args)
{
   String str1="abc";
   String str2="abc";
   if (str1==str2)
        System.out.println("1 and 2 is ==");
   if(str1.equals(str2))
        System.out.println("1 and 2 is equal");
}
}


"abc" 在str1创建的时候被放入了常量池, 创建str2的时候,首先和常量池中字符串比较,发现有相同的,就返回先前"abc"的引用

所以 str1和str2是同一引用,dyaod 说的没错

如果 str2 = new String("abc"); 那么这两个就不是同一引用了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表