String str = nem String("1"+"2")产生了几个对象?
发布网友
发布时间:2024-10-23 14:00
我来回答
共5个回答
热心网友
时间:4分钟前
就两个
一个是运行时的 "12", 而不是"1" + "2"
一个就是String
str这个引用不知道算不算, 大家讨论一下
在编译成CLASS文件时, 会把 "1" +"2" 直接编译成一个常量, 而不是两个常量
验证方法: 就把上面这句话放在一个简单的对象里, 编译成class文件后
用16进制的文档编辑器打开, 你会发现, 这两个字符串变成一个字符串, 也就是说字符串的拼凑这个工作不是在运行时进行的..
然后你再把这两个字符串分别定义, new String()用两个字符串的引用相加
,这个时候, class文件里存的是两个字符串, 前面有它们的长度
大家一起讨论一下
热心网友
时间:4分钟前
我看产生不了,因为是nem,我的答案,0个,哈哈
热心网友
时间:1分钟前
4个
"1"
"2"
"1"+"2"
str
热心网友
时间:5分钟前
4个
2个字符常量 1,2
1个StringBuider 12
1个String 12
热心网友
时间:5分钟前
4个
"1","2","12", new String()