String stri="hfeigehgiergh".intern();
String st=“hfeigehgiergh”;
System.out.println(st==stri);
为什么是true 它的原理是什么
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
编程爱好者熊浪 2017-04-02 05:45最佳回答 专家已采纳String s="hfeigehgiergh";
String stri="hfeigehgiergh".intern();
String st="hfeigehgiergh";
System.out.println(s==st);
System.out.println(st==stri);
你先确定s==st是true吗,string跟普通的引用类型有点不同,它的值不是放在堆里面的,而是放在常量池里面的,当str在常量池里面存储了一份值之后,第二次有个字符串赋值,它会先到常量池里面找下有没有相同的值,有就不会添加,会直接使用这个值,没有就新添加一个,因此2个字符串其实是指向同一个值,所以是true,你.intern()这个方法就是告诉字符串先去常量池里面找下有没有这个值,其实加不加都会先去找一遍。采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(2条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2017-04-02 03:11回答 3 已采纳 String s="hfeigehgiergh"; String stri="hfeigehgiergh".intern(); String st="hfeigehgiergh"; System
- 2019-10-03 21:33回答 2 已采纳 你是不是事务begin了没有加上commit提交 导致一致锁定,超时。
- 2010-12-28 11:03回答 1 已采纳 1、经常报的那个错误我遇到一次,问题出在hibernate映射关系上,因为有多对一这类关系,每秒并发N多sql,造成了这种错误。关联几张表的那个可以用视图去解决,这个相对简单些。 2、修改MYS
- 2021-10-04 09:401.ADO用ODBC链接不会出现堆栈溢出。2.直接用ADO链接,因为对象不是NEW出来的,导致其成员变量也是栈上的,数组申请过大,栈溢出。用VECTOR或者NEW对象,应该能解决。
- 2020-08-21 12:45Github中文社区的博客 个点击上方“Github中文社区”,关注看遍Github好玩的项目来源:http://t.cn/E6hvQw5大家好,这里为大家真理了阿里的26个Java开源项目,希望对大家有所帮助1....
- 2021-05-06 19:40程序员cxuan的博客 文章目录Java 基础Head First JavaJava 核心技术卷一Java 编程思想设计模式Head First 设计模式图解设计模式设计模式重学 Java 设计模式Java 进阶Java 并发编程实战Java 并发编程艺术Java 并发编程之美图解Java多...
- 2021-03-04 09:30回答 1 已采纳 猜测一下,你当在主线程时,response在单独TaskMp4 tm时没有关闭是因为response在主线程对象还没有close关闭释放,当你执行excute方法时,对象在你子线程调用,此时主线程结束
- 2019-05-06 22:33回答 2 已采纳 这里主要是mysql的驱动包版本过低(5.0)或dbcp的版本过高(2.7),dbcp2.0以上需要mysql的驱动包为5.1.3以上
- 2020-10-25 20:23回答 1 已采纳 你这个只关闭了 `Statement `, 并没有关闭 `Connection`, 正确的写法应该是 ``` try (Connection c = JDBCUtil.createConn
- 2018-09-08 14:46hchhan89的博客 Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握用例驱动、以架构为...
- 2021-06-15 10:59陈皮的JavaLib的博客 先来一波招人嫉妒的自夸,哈哈大三通过一个月时间自学Java,然后顺利找到实习工作。在我看来,大三实习并不是引以为傲的资本,自学Java并找到实习才是让我骄傲的点。 自学Java除了基础语法还要用项目检验知识点的...
- 2020-10-12 16:47沉默王二的博客 泛型中 K T V E 这些特殊字幕的含义 通配符 上下界限定符 extends 和 super 不要在集合中使用 Java 原始类型 10)单元测试 Junit TestNG 11)编码方式 ASCII Unicode UTF-8 GBK、GB2312 如何解决乱码问题 ...
- 2014-10-30 20:53回答 2 已采纳 突然weblogic宕掉了(产生了一个1.8G的core文件),启动之后系统运行正常。但是晚上跑批时候发现文件系统中的部分文件没有了,再检查数据库发现,数据库中部分表的数据没有,部分表数据也不对了。又
- 2019-04-24 15:44回答 5 已采纳 你的DBUtil getCon() 方法有问题:DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
- 2016-02-25 12:40回答 1 已采纳 堆上没有什么方法区。代码放在代码区,函数的局部变量放在堆栈上。 栈中自动分配的存储的对象引用会被自动销毁么,是的,在函数返回的时候销毁。
- 2021-06-15 13:41兴趣使然的草帽路飞的博客 前几天收到粉丝私信,跟着我打卡学习面试题,这几天顺利找到了暑期实习,先来恭喜下这位粉丝。 找实习也好,工作也好,除了...跟着我打开学习面试题的朋友应该知道,面试题就是预设的问题,但是只是知道答案并不..
- 2019-02-23 12:51徐刘根的博客 1、分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程...
- 2020-05-21 09:35GitHubDaily的博客 公众号关注“GitHubDaily”设为 “星标”,每天带你逛 GitHub!大家好,我是 Guide 哥,一个三观比主角还正的技术人。今天推荐几个 Java 项目快速开发脚手架,解放...
- 2021-08-05 13:48回答 1 已采纳 只保留一个 请采纳
- 2018-08-14 12:55Java程序员-张凯的博客 1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。 1.1.1 程序计数器 内存空间小,线程私有。字节码解释器工作是...
- 没有解决我的问题, 去提问