原文:String s="a"+"b"+"c",到底创建了几个对象?

首先看一下这道常见的面试题,下面代码中,会创建几个字符串对象 如果你比较一下Java源代码和反编译后的字节码文件,就可以直观的看到答案,只创建了一个String对象。 估计大家会有疑问了,为什么源代码中字符串拼接的操作,在编译完成后会消失,直接呈现为一个拼接后的完整字符串呢 这是因为在编译期间,应用了编译器优化中一种被称为常量折叠 Constant Folding 的技术,会将编译期常量的加减乘除 ...

2021-08-16 09:57 0 602 推荐指数:

查看详情

String s=new String("abc")创建了几个对象?

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 答案应该是1个或者2个。 1个的情况:如果字符串池中已经存在了"abc"这个对象,那么直接在创建一个对象放入堆中,返回str引用。 2个的情况 ...

Tue Jan 09 17:13:00 CST 2018 0 4385
String s=new String("abc")创建了几个对象?

转载自:http://www.cnblogs.com/ydpvictor/archive/2012/09/09/2677260.html String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信 ...

Mon Apr 15 20:47:00 CST 2013 2 3417
String s=new String("abc")创建了几个对象?

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信大家对这道题并不陌生,答案也是众所周知的,2个。 接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识 ...

Sun Sep 09 17:43:00 CST 2012 19 98302
String s=new String("abc")创建了几个对象?

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信大家对这道题并不陌生,答案也是众所周知的,2个。 接下来我们就从这道题展开,一起回顾一下与创建 ...

Sun Jan 05 06:27:00 CST 2020 0 783
String s = new String("aa") 创建了几个对象

1 最近几个同学面试的时候出现了这样一个问题   刚听到这个题目的时候的确是不知所措: 经过网上的查找和自己的理解来解释一下这个题目的答案 答案是:2 为什么呢??? 1 实现我们都知道创建实例有两种方法   (1)一是用new来创建   (2)二是同过放射实例来创建 ...

Tue Dec 22 22:53:00 CST 2015 2 3932
new String("123") 创建了几个对象

String 对象可谓再熟悉不过了,与此相关的面试题经常会引出内存性能优化的问题,本篇主要以 new String("123") 创建了几个对象为例记录。 一、你能回答正确吗 如上定义的为常量; 如上 b 为变量,为啥? 难道常量拼接常量得到的是变量 ...

Fri Jun 28 06:40:00 CST 2019 2 1711
new String创建了几个对象

String str = new String(“abc”) 到底创建了几个对象? 首先String str是定义了一个字符串变量,并未产生对象,=不产生对象,那么只有后面的new String("abc")了。把它拆分成"abc"和new String(),首先在字符串常量池去寻找有没有 ...

Tue Dec 03 05:54:00 CST 2019 0 663
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM