new String(abc)和“abc”的区别
方式一:String a = “aaa” ;
方式二:String b = new String(“aaa”);
· 两种方式都能创建字符串对象,但方式一要比方式二更优。
· 因为字符串是保存在常量池中的,而通过new创建的对象会存放在堆内存中。
一:常量池中已经有字符串常量”aaa”
· 通过方式一创建对象,程序运行时会在常量池中查找”aaa”字符串,将找到的”aaa”字符串的地址赋给a。
· 通过方式二创建对象,无论常量池中有没有”aaa”字符串,程序都会在堆内存中开辟一片新空间存放新对象。
一:常量池中没有字符串常量”aaa”
· 通过方式一创建对象,程序运行时会将”aaa”字符串放进常量池,再将其地址赋给a。
· 通过方式二创建对象,程序会在堆内存中开辟一片新空间存放新对象,同时会将”aaa”字符串放入常量池,相当于创建了两个对象。
public class StringNewTest { public static void main(String[] args) { String a = "aaa"; String b = "aaa"; String c = new String("aaa"); String d = new String("aaa");System.out.println("a==b:"+(a == b)); //trueSystem.out.println("a==c:"+(a == c)); //falseSystem.out.println("c==d:"+(c == d)); //falseSystem.out.println("a与b的值相等:"+(a.equals(c))); //true}
}
new String(abc)和“abc”的区别相关推荐
- java s1=abc s2=abc s1==s2_经典问题:String s1 = abc 与 String s2 = new String(abc)的区别...
这是以前刚学Java那会经常被问到的问题,并且也会经常出现在面试中.这个问题不仅仅只局限于Java,可以适用于其他大部分语言,正好最近有个小朋友在学编程,特此整理一下. String s1 = &qu ...
- @abc和abc区别在那里
//清清月儿 http://blog.csdn.net/21aspnet/ @"abc"和"abc"没有什么区别 不过@是忽略转义字符的! 比如 "a ...
- 用java比较abc大小的程序_Java中 abc + '/'和abc + /的区别
好吧,写这篇博客又是因为一个有趣的帖子.原问题是"String str = "abc" + '/';和"abc" + "/";的区 ...
- 计算机考研abc区划分,考研abc区有什么区别
考研ABC区主要的区别是分数线划分不同.考研ABC区是根据地区发达程度进行划分,一般来说,A区的分数线要比B区的分数线高5至10分,B区的分数线要高C区的分数线5至10分.A区每年的报考人数众多,竞争 ...
- String、StringBuffer、StringBuilder区别
无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下. String.StringBuffer.String ...
- java中拼接和 的区别_浅析Java中String与StringBuffer拼接的区别
学习笔记: 1.String拼接会创建一个新的String对象,存储拼接后的字符串: StringBuffer拼接是直接在本身拼接,会即时刷新. 2.String只能拼接String类型的字符串: S ...
- String,StringBuffer与StringBuilder的区别
String,StringBuffer与StringBuilder的区别 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全 ...
- String, StringBuilder 与StringBuffer的区别与联系
String, StringBuilder 与StringBuffer的区别与联系 @(JAVA)[java] 1.区别 (1)String构建的对象不能改变,每次对String进行操作时,如两个St ...
- 2021-09-15如何把一个字符串的大小写取反(大写变小写小写变大写),例如 ’AbC‘ 变成 ‘aBc‘
//如何把一个字符串的大小写取反(大写变小写小写变大写),例如 'AbC' 变成 'aBc' var text = "HELloaaPPpp" ; console.log(&quo ...
- StringBuffer类,StringBuffer类和String的区别、String,StringBuffer,StringBuilder之间的区别
1.概述 StringBuffer是一个线程安全的可变序列. 2.StringBuffer与String区别 (1)StringBuffer的长度和内容都可以发生改变,String却不行 (2)Str ...
最新文章
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)...
- 技术除了工作,还有什么可以提升的?
- 【NOIP2016PJ】【Luogu2058】海港
- SAP Spartacus自定义指令cxOutlet的工作原理
- Angular 8正式发布!
- Activity中 onResume和onPause与onStart()和onStop()的一些思考
- 将一个类改成线程_看了这个有趣的例子,相信你就秒懂多线程同步了
- 零元学Expression Design 4 - Chapter 5 教你如何用自制笔刷在5分钟内做出设计感效果...
- 智能化服务器怎么调,怎么设置dns 智能dns设置方法 【图文】
- Mac 安装php redis扩展
- 图像语义分割 —利用Deeplab v3+训练VOC2012数据集
- NAT-PT (Network Address Translation-Protocol)网络地址转换协议转换
- MySQL不能插入中文字段的解决办法
- linux下思维导图软件,三款适合linux系统的超好用思维导图软件
- 分类学 · 狡兔为何偏要有三窟???
- 因子分析累计贡献率_数据分析之因子分析
- 在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序
- Docker_学习笔记
- OpenSSL/GmSSL 动态引擎
- Python系列:二、数据类型--技术流ken