String a =new String(“abc”);和String b=”abc”;的区别
看图有助于理解:
String a =new String(“abc”)实际上是创建了两个对象(假设之前String的常量池中没有创建任何对象),一个是“abc”,是new String()。“abc”创建后就会放入常量池中(下次创建 String对象时先查找常量池 有需要的就使用, 没有就重新创建并存入常量池),而String a=new String(“abc”)这是在堆里面创建了一个空白对象 ,并将a初始化(如图),在去查找常量池是否有“abc”。因之前已创建,所以就直接使用常量池中的“abc”的一份拷贝(副本)放人对应堆中地址(这两块内存中的内容是一眼的,用equals()可以得出)。
可参考==与equals:http://blog.csdn.net/fiempty/article/details/8640605
初学java以上说明如有不妥之处,请见谅。
String a =new String(“abc”);和String b=”abc”;的区别相关推荐
- String str =new String(“abc“)和 String str = “abc“的比较
String是一个非常常用的类,应该深入的去了解String 如: String str =new String("abc") String str1 = "abc&qu ...
- java中String s=abc及String s=new String(abc)详解
java中String s="abc"及String s=new String("abc")详解 1. 栈(stack)与堆(heap)都是Java用来在R ...
- 怎么做到new String(abc) == new String(abc)双等号为true呢?不是使用equals哦
正常情况 如果按照正常情况,你面试的时候,看到这个代码,你肯定会说:结果是false. 如果我要他们是true,应该怎么做呢?有什么方法吗? String str4 = new String(&quo ...
- java中String s=abc及String s=new String(abc)的区别
<String的特性> 1.String类是final的,不可被继承. 2.String类是的本质是字符数组char[], 并且其值不可改变. 3.Java运行时会维护一个String P ...
- String s=“abc“ 和 String s1=new String(“abc“)和String s2=new String(“abc“)之间的关系
这篇文章针对困扰新手初学java基础时常遇到的难以理解的一个问题!!! ==∶它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象(基本数据类型==比较的是值,引用数据类型==比较 ...
- c++ string replace_JAVA应用程序开发之String类常用API
[本文详细介绍了JAVA应用开发中的String类常用API,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 API ( Application Interface 应用程序接口)是类中提供的接口, ...
- c++中几种常见的类型转换。int与string的转换,float与string的转换以及string和long类型之间的相互转换。to_string函数的实现和应用。...
1.string转换为int a.采用标准库中atoi函数,对于float和龙类型也都有相应的标准库函数,比如浮点型atof(),long型atol(). 他的主要功能是将一个字符串转化为一个数字,在 ...
- 请别再拿“String s = new String(xyz);创建了多少个String实例”来面试了吧---转
http://www.iteye.com/topic/774673 羞愧呀,不知道多少人干过,我也干过,面壁去! 这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的. 本来因为见得太 ...
- java string string_深入理解Java:String
在讲解String之前,我们先了解一下Java的内存结构. 一.Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配. JVM主要管理两 ...
- String的内存模型,为什么String被设计成不可变的
String是Java中最常用的类,是不可变的(Immutable), 那么String是如何实现Immutable呢,String为什么要设计成不可变呢? 前言 关于String,收集一波基础,来源 ...
最新文章
- Android AOSP 编译sdk
- 关于html5和css3的新特性
- Spring集成TestNg测试
- 带你了解无线网络渗透测试——无线网络嗅探工具Kismet
- linux zip打包_还在百度Linux命令?推荐一套我用起来特顺手的命令!(JAVA)
- Cocos2d JS 之消灭星星(九) 处理星星类之——移动和消灭星星
- android:paddingtop 百分比,相对层中的百分比宽度
- 【精彩实况】第三届大数据科学与工程国际会议
- linux中MySQL密码的恢复方法
- java周志第二周_第二周JAVA学习日志
- 基于点云的视觉引导系统
- 【HTML】【简易电子相册】overflow:hidden;
- 极限压缩----压缩至原视频的五分之一
- 浅谈csdn写博客几年来的感受———已结题
- 淘宝口令生成器,批量生成
- 儿童专注力训练——虚线描成实现
- JDK1.8的Lambda表达式使用(一)
- JAVA 整形 getbytes_Java getBytes() 方法
- qt 在ubuntu下的下载安装及测试
- Day05_Manuals for Python@lisongye-元组/字典
热门文章
- 打印机队列堵死快速解决方法
- 《Win32多线程程序设计》-侯杰【最后更新日期:16/02/23
- 基于Java+SQL server的会展中心管理系统
- 【基础】开关电源电路图讲解
- 软考:信息安全工程师4(系统安全)
- 四年级上用计算机算的题,2019-2020年四年级数学上册11.1用计算器计算练习题及答案...
- shell 删除重复文件
- 树莓派(Linux)音频输出接口(HDMI和3.5mm耳机接口)相互切换方法
- java 像素矩阵_Java图片读取之BufferedImage得到像素矩阵的两种方式
- 为统一规划思想、知识、事情而设计的笔记软件