社区
不良使(移动开发者社区)
交流讨论
帖子详情
String a = “a“ + new String(“b“) 创建了几个对象?
leo&ZOOM
2023-10-18 18:57:19
String a = “a“ + new String(“b“) 创建了几个对象?
...全文
527
回复
打赏
收藏
String a = “a“ + new String(“b“) 创建了几个对象?
String a = “a“ + new String(“b“) 创建了几个对象?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
44、
String
a = “a“ +
new
String
(“b“)
创建
了
几个
对象
?
小景哥哥博客
String
a = “a” +
new
String
(“b”)
创建
了
几个
对象
? 常量和常量拼接仍是常量,结果在常量池,只要有变量参与拼接结果就是变量,存在堆。 使用字面量时只
创建
一个常量池中的常量,使用
new
时如果常量池中没有该值就会在常量池中新
创建
,再在堆中
创建
一个
对象
引用常量池中常量。因此
String
a = "a" +
new
String
("b") 会
创建
四个
对象
,常量池中的 a 和 b,堆中的 b 和堆中的 ab。 ...
String
str =“a“ + “b“ 与
String
str =
new
String
(“a“) +
new
String
(“b“) 的区别(jdk1.8环境利用javap命令探究)
今天,又在思考一个常见的问题,那就是字符串
创建
对象
系列。发现了一个很多人都模糊不清的问题,那就是
String
str =“a” + “b” 与 Strin str =
new
String
(“c”) +
new
String
(“d”) 把
对象
创建
在了哪里?
创建
了
几个
字符串
对象
? 话不多出,show my code:
String
str =“a” + “b” package com.bestqi...
String
s = a+b+c+d+e;
创建
了
几个
对象
的详细分析?
最近看到许多类似的帖子,大致意思如下:问题1:
String
s = "a" + "b" + "c" + "d" + "e"; 问此语句共
创建
了
几个
对象
, 答案是 就
创建
了一个
String
s = "a" + "b" + "c" + "d" + "e"; 赋值符号右边的"a"、"b"、"c"、"d"、"e"都是常量 对于常量,编译时就直接存储它们的字面值而不是它们的引用
String
s = “a“+“b“
创建
了什么
对象
首先是面试里被问过一万多遍的问题 publicstaticvoidmain(
String
[]args){
String
a="a";
String
b="b";
String
ab=a+b; } 这段代码里
创建
了多少个
对象
答案是两个 a和b都在常量池里,不会
创建
对象
那么问题来了
创建
的
对象
是什么 在编译后的字节码文件里,能看到是
NEW
java/lang/
String
Builder 并调用了
String
Builder的构造方法, 然后在使用append来拼接a和b 最后将ab的引用指向这个Str
String
a=
new
String
("b","c")会
创建
几个
对象
?
String
a=
new
String
("b","c")会
创建
几个
对象
?
String
a=
new
String
("b"+"c")又会
创建
几个
?为什么? 1.
String
a=
new
String
("b"+"c"); b一个 c一个 b+c一个 a一个 总共四个 1、Java中
New
出的
对象
则始终被JVM存放在堆中,
创建
的字串常量则始
不良使(移动开发者社区)
38,894
社区成员
440
社区内容
发帖
与我相关
我的任务
不良使(移动开发者社区)
你无法游向新的地平线,除非你有勇气告别海滩 专注Android+IOS+微信小程序 学习与问题解决,建造全网一流移动端问题解决社区 前后端文章也可以发哈
复制链接
扫一扫
分享
社区描述
你无法游向新的地平线,除非你有勇气告别海滩 专注Android+IOS+微信小程序 学习与问题解决,建造全网一流移动端问题解决社区 前后端文章也可以发哈
android
ios
微信小程序
个人社区
安徽省·合肥市
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章