Stringbuilder.toString().inter()

深入理解jvm的57页看到的,随便改了一下,发现有些出入

jdk1.7下

String str = new StringBuilder("aa").toString();
System.out.println(str.intern() == str);

String str1 = new StringBuilder("b").append("b").toString();
System.out.println(str1.intern() == str1);

结果:
false
true

请问为什么结果不一样。append到底起了什么作用

2个回答

我的理解是使用new StringBuilder("aa")的时候,String类型参数"aa"已经被写入到String pool中,然后在经过toString方法转换为一个新的String
对象,str再调用intern的时候查找String pool,查找到"aa",在和此时的str比较,他俩的地址不同是两个不同的String对象,就返回false;
而后者使用append,String pool中相当于至存在"b",Str1 = "bb",调用intern的时候String pool并没有相同内容的字符串,所以就写入"bb",
并返回此对象,相当于str1 == str1比较,最后返回true

因为第一个str,是直接toString()方法创建对象,没有进入字符串常量池,所以false,第二个str调用了一次append()方法会进入常量池中,所以true。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
(50分)关于StringBuilder.ToString()的怪问题
我有如下代码:rnpublic ProcessedDocument Discarding_NonArabic_Letters(string[] savedSeparators,string notAllArabic)rnrnstring[] splittedStrings = notAllArabic.Split(savedSeparators, StringSplitOptions.RemoveEmptyEntries);rnProcessedDocument allArabicPD; rnArabicLettersStruct ar = ArabicLetters();rnChar[] arabicLettersArray = ar.arabicLettersArray;rnString arabicLettersString = ar.arabicLettersStringWithSpace;rnStringBuilder result = new StringBuilder();rnrnforeach (string ss in splittedStrings)rnrn foreach (Char c in ss.ToCharArray())rnrn rn if (arabicLettersString.IndexOf(c) >= 0)rn rn result.Append(c);rn rnrn rnrn result.Append(savedSeparators[0].ToString());rnrnrnrnallArabicPD = new ProcessedDocument(result.ToString()); rn//contains only Arabic letters + special separatorrnrnreturn TrimExtraSpaces(allArabicPD);rnrnrnrn================================================== rnrn假如有这个值 savedSeparators[0] = "C:"rn这个语句result.Append(savedSeparators[0].ToString());正常执行后,rn能正确添加"C:" 给result.rn但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,rnresult变量中的"C:" 变成了"C",丢失了“:”???rnrn类似的情况,rn假如有这个值 savedSeparators[0] = "C:\"rn这个语句result.Append(savedSeparators[0].ToString());正常执行后,rn能正确添加"C:\" 给result.rn但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,rnresult变量中的"C:\" 却变成了"C\\" ???rnrn请问是什么原因呢?怎样解决这个奇怪的问题?rn
INVENTORY INTER
INVENTORY INTERORATION
相交(inter)
【分析】 考场上只是简单的打了暴力,连链的特殊情况也没考虑,O(n^2)算法只是可怜兮兮的骗了30分。。。。 注意这道题的题解并不难,如果见过类似的模型,只要上次不是抄了题解草草了事就一定能获得满分,但要有类似的思路来想到此题,并不容易。 请仔细观察学习此类算法,以便考场之上可以骗分更多。 30分的暴力很直接,每次将树上的一条链打上标记,再在另一条链中遍历是否有点被打上标记。...
inter 开发手册
ntel 64和IA-32架构软件开发人员手册 [url]http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html[/url] Intel® Guide for Developing Multithreaded Applications [url]...
inter haxm_v7
inter haxm windows_v7, android 模拟器 加速使用,同时需要开机CMOS的CPU虚拟化技术,否则安装失败
call inter
call inter
inter overflow
整数溢出,inter执行文件,需要在Ubuntu系统下面执行测试。
inter video
dfdf df inter video inter video
diffuse inter
rotor stator interaction in a pump
Inter base
Inter base 是不是装了delphi 6机子里就有了
vc++ inter
vc++学习的一些实例代码,可供学习之用,实例代码学习
inter 2100无线网卡驱动mac
inter 2100无线网卡MAC驱动,老TBM T40机子用。
Inter C++,并行计算STL
最完整2017Inter C++/tbb库,含源码,示例,手册,适用于高并发STL编程,提升运行速度。
masm615 Inter汇编
这是Inter汇编语言的附带光盘,其中有masm615的安装程序,希望对大家有帮组
inter机器指令对照表8086
共9部分分别是 086、186、286、386、486、586、586MMX、686、浮点。这是其中086部分。只在086和386设置10分下载积分,其他就不设了
ARM inter AMD区别
描述不同芯片厂家区别、细分到芯片历史和制造需求来由
Inter Base V5.6数据库
README FOR INTERBASE 5.6 Online documentation and Release Notes For a description of new features and changes in InterBase 5.6, use Acrobat Reader to view the ReleaseNotes.pdf file. In addition, the complete 5-volume document set for InterBase 5.5 is available in PDF format with InterBase 5.6. Use Adobe Acrobat Reader 3 to view these PDF files. To take advantage of the full-search indexing for the document set, you need Acrobat Reader 3.0.1 (or later) With Search. This version of Reader is included on your InterBase 5.6 CD-ROM. You can also download it from http://www.adobe.com/prodindex/acrobat/readstep.html If you go directly to this Adobe site, be sure to download the version "With Search", not the plain version. ACCESSING THE DOCUMENT SET: You can open any of the books directly from the InterBase folder in the Start menu if you have Acrobat Reader already installed and the PDF extension is associated with Acrobat Reader. To access the books from the Help menu in Server Manager, choose InterBase Help and choose the book you want from the "InterBase Books Online" section. ________________________ Uninstalling InterBase 5.6 The Windows InterBase installation allows you to choose between performing a complete install or selecting individual components. If you install a subset of the components, you can run the install again later to add more components. However, when you uninstall, only the components that you installed the last time are removed. ------------------------------------- Copyright (c) 1999 Inprise Corp. All rights reserved.
inter i217驱动
inter i217驱动
inter公司的webrtc开发套件
inter公司基于webrtc技术开发的网络音视频通信的服务器套件。主要内容如下: 1.mcu服务器 2.android、ios、javascripte的客户端SDK
Inter ia64 ia32 architecture
inter architecture 5卷。1卷是基础、2-3是指令集、4-5是系统编程指导。
Inter 汇编架构分析
Inter 汇编架构分析 ,是一门比较好的架构信息。的的
pointer popointer inter
用空格分用空格分用分用分用空格分用空格分
INTER D945GTP 主板说明书
INTEL 的主板 D945GTP使用说明,接插件的接口、安装CPU、内存、硬盘等一应俱全。
INTER CPU CONTROL
可通过本软件设置INTER 的CPU产品每个核心的最高运行频率,为INTER官方出品,还可以关闭睿频,达到节能的效果
inter 和NV的时序对照表!
inter 和NV的时序对照表!本人精心对比的时序对照表!
Inter IPP与INTEL OPENCV
想请教一下各位高手,Inter IPP与INTEL OPENCV有什么区别,好象是一个要付费,一个不要付费,反正我看一半天,也没弄明白,希望各位大虾指教一下,先谢谢大家了
inter机器指令对照表586
共9部分分别是 086、186、286、386、486、586、586MMX、686、浮点。这是其中586部分。只在086和386设置10分下载积分,其他就不设了
inter机器指令对照表286
共9部分分别是 086、186、286、386、486、586、586MMX、686、浮点。这是其中286部分。只在086和386设置10分下载积分,其他就不设了
Cracking the Coding Inter 6th.pdf.zip
面试宝典第六版,包含189个编程问题及答案
info view inter
info view
inter 么 11.6.10.1054
&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!--Created With CreateMup.exe Version 08.05.2015.1550--&gt; <MUPDefinition xsi:schemaLocation="http://schemas.dell.com/openmanage/cm/2/0/mupdefinition.xsd mupdefinition.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <packageinformation> <installertype>msi</installertype> <packagegrouping>single_package</packagegrouping> <packagingtype>zip</packagingtype> <releasetype>DRVR</releasetype> <mupspecificationversion>2.4.3</mupspecificationversion> <version>11.6.0.1039</version> <name>Intel(R) Management Engine Firmware</name> <supportedoperatingsystems> <osidentifier architecture="x64" name="XP"/> <osidentifier architecture="x86" name="XP"/> <osidentifier architecture="x64" name="W2K3"/> <osidentifier architecture="x86" name="W2K3"/> <osidentifier architecture="x64" name="Vista"/> <osidentifier architecture="x86" name="Vista"/> <osidentifier architecture="x64" name="W2K8"/> <osidentifier architecture="x86" name="W2K8"/> <osidentifier architecture="x64" name="Windows7"/> <osidentifier architecture="x86" name="Windows7"/> <osidentifier architecture="x64" name="W2K8R2"/> <osidentifier architecture="x64" name="Windows8"/> <osidentifier architecture="x86" name="Windows8"/> <osidentifier architecture="x64" name="W2K12"/> <osidentifier architecture="x64" name="Windows8.1"/> <osidentifier architecture="x86" name="Windows8.1"/> <osidentifier architecture="x64" name="W2K12R2"/> <osidentifier architecture="x64" name="Windows10"/> <osidentifier architecture="x86" name="Windows10"/> <osidentifier architecture="x64" name="W2K16"/> </supportedoperatingsystems> <content> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\XP-x64\heci.inf\heci.inf</file> <file>production\XP-x64\heci.inf\HECI.cat</file> <file>production\XP-x64\heci.inf\TeeDriver.sys</file> <file>production\XP-x64\heci.inf\HECI.sys</file> <file>production\XP-x64\heci.inf\TeeDriverx64.sys</file> <file>production\XP-x64\heci.inf\HECIx64.sys</file> </Image> </Device> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\XP-x86\heci.inf\heci.inf</file> <file>production\XP-x86\heci.inf\HECI.cat</file> <file>production\XP-x86\heci.inf\TeeDriver.sys</file> <file>production\XP-x86\heci.inf\HECI.sys</file> <file>production\XP-x86\heci.inf\TeeDriverx64.sys</file> <file>production\XP-x86\heci.inf\HECIx64.sys</file> </Image> </Device> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\W2K3-x64\heci.inf\heci.inf</file> <file>production\W2K3-x64\heci.inf\HECI.cat</file> <file>production\W2K3-x64\heci.inf\TeeDriver.sys</file> <file>production\W2K3-x64\heci.inf\HECI.sys</file> <file>production\W2K3-x64\heci.inf\TeeDriverx64.sys</file> <file>production\W2K3-x64\heci.inf\HECIx64.sys</file> </Image> </Device> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\W2K3-x86\heci.inf\heci.inf</file> <file>production\W2K3-x86\heci.inf\HECI.cat</file> <file>production\W2K3-x86\heci.inf\TeeDriver.sys</file> <file>production\W2K3-x86\heci.inf\HECI.sys</file> <file>production\W2K3-x86\heci.inf\TeeDriverx64.sys</file> <file>production\W2K3-x86\heci.inf\HECIx64.sys</file> </Image> </Device> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\Vista-x64\heci.inf\heci.inf</file> <file>production\Vista-x64\heci.inf\HECI.cat</file> <file>production\Vista-x64\heci.inf\TeeDriver.sys</file> <file>production\Vista-x64\heci.inf\HECI.sys</file> <file>production\Vista-x64\heci.inf\TeeDriverx64.sys</file> <file>production\Vista-x64\heci.inf\HECIx64.sys</file> </Image> </Device> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\Vista-x86\heci.inf\heci.inf</file> <file>production\Vista-x86\heci.inf\HECI.cat</file> <file>production\Vista-x86\heci.inf\TeeDriver.sys</file> <file>production\Vista-x86\heci.inf\HECI.sys</file> <file>production\Vista-x86\heci.inf\TeeDriverx64.sys</file> <file>production\Vista-x86\heci.inf\HECIx64.sys</file> </Image> </Device> <Device componentID="100950"> <PCIInfo deviceID="8C3A" vendorID="8086"/> <PCIInfo deviceID="9C3A" vendorID="8086"/> <PCIInfo deviceID="8D3A" vendorID="8086"/> <PCIInfo deviceID="9CBA" vendorID="8086"/> <PCIInfo deviceID="8CBA" vendorID="8086"/> <PCIInfo deviceID="9D3A" vendorID="8086"/> <PCIInfo deviceID="A13A" vendorID="8086"/> <PCIInfo deviceID="A2BA" vendorID="8086"/> <PCIInfo deviceID="A1BA" vendorID="8086"/> <PCIInfo deviceID="A23A" vendorID="8086"/> <Image version="11.6.0.1032" type="DRVR"> <file>production\W2K8-x64\heci.inf\heci.inf</file> <file>production\W2K8-x64\heci.inf\HECI.cat</file> <file>production\W2K8-x64\heci.inf\TeeDriver.sys</file> <file>production\W2K8-x64\heci.inf\HECI.sys</fi
inter CPU大全
比较全的inter CPU 参数,更新到i7-940,希望大家喜欢!!!
Inter CPU型号大全
Inter CPU型号大全 Inter CPU型号大全 Inter CPU型号大全
inter万兆网卡驱动
inter 万兆网卡驱动 适用win2008R2以上系统。
inter hd graphics for mac
mac下的inter集成显卡驱动,inter hd graphics 需要安装后把你的设备id添加到文件夹下的info文件中
inter sata drivers
inter sata drivers for windows 2003 32 bits
inter ac97 声卡驱动
inter ac97 声卡驱动 装不上inter ac97的来试试
Inter汇编语言程序设计(第五版)
Inter汇编语言程序设计(第五版)
Inter 官网手册
非常实用的手册操作系统硬件级开发必备!包含四本必备的手册,非常全面!
inter的优势在什么地方?
inter比AMD有什么有优势,或者是什么特点?rn在不同的操作系统中的兼容性比起来那个更有优势?rn为什inter+linux系统的性能没AMD+linux那么好?rn难道这个关系到inter的商业利益?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法