stringsabcd问s创建过程中创建了几个对象

2021-01-26 08:16:57 字数 1580 阅读 5997

1楼:匿名用户

因为a是上面static string a= "a";定义的,在执行string s="a"+"b"+"c"+"d"时,不会再创建这个对象了。

所以是3个。

java中,string s = "a" + "b" + "c" + "d" + "e"; 问此语句共创建了几个对象

2楼:‖灬梦ん销魂

就创建了一个

string s = "a" + "b" + "c" + "d" + "e";

赋值符号右边的"a"、"b"、"c"、"d"、"e"都是常量对于常量,编译时就直接存储它们的字面值而不是它们的引用在编译时就直接讲它们连接的结果提取出来变成了"abcde"

该语句在class文件中就相当于string s = "abcde"

然后当jvm执行到这一句的时候, 就在string pool里找如果没有这个字符串,就会产生一个

3楼:匿名用户

应该是一个对象,"a" ,"b" , "c" , "d" , "e"虽然都是对象,但是是常量,常量就意味着很可能在编译时期编译器已经把他们相加起来了,在运行时就做了一个string s = "abcde"的操作,也就说运行时期是没有"a" ,"b" , "c" , "d" , "e"的!

就像int a = 3+2;

这样的句子还会留到运行期去做么!如果真是这样,只能说这个编译器太垃圾了。。。。

4楼:第8感超人

一共9个

对象 java中string 每个引号都是一个对象 这就是5个了"a"+"b"=ab一个

"ab"+"c"=abc

"abc"+"d"=abcd

"abcd"+"e"=abcde

这又是4个

一共有9个

虽然s只是指向最后一个 但是实际上产生了9个对象

5楼:匿名用户

10个 ,2楼前面说的都对 ,但他忘了 s 也是个对象

6楼:迷茫的青春

实际上就1个,上面的“a”“b”...都是字面量意思

在java中 string str = "a"+"b"+"c"+"d";

7楼:匿名用户

楼上是对的

就创建了一个

string s = "a" + "b" + "c" + "d"";

赋值符号右边的"a"、"b"、"c"、"d"都是常量对于常量,编回

8楼:匿名用户

str 中将存贮字符串 abcd

解释:+为字符串连接运算符。等号左侧为一表达式,其结果为字符串abcd,赋于变量str

9楼:没有响应

首先是 a b c d 四个对象

然后 ab abc abcd 3个对象 一共7个string对象

10楼:匿名用户

5个对象,“a”,"b","c","d"是4个字符串对象,保存在字符串池中,“abcd”即str是第5个对象,保存在堆中

C++用FOR循环创建对象,C++用循环创建多个相同类型的对象 5

1楼 匿名用户 用对象数组 link a 5 直接就可以拥有5个link对象,分别为a 0 a 1 a 2 a 3 a 4 。 用指针数组,然后分别对每个指针创建对象实例link a 5 for int i 0 i 5 i a i new a x 为构造参数。 2楼 匿名用户 如果用的mfc支持ca...

创建插件对象失败检查系统是否禁用了vbs脚本

1楼 匿名用户 究竟是运行什么程序时出现的?如果是打开按键小精灵开启脚本的时候弹出这个提示,则原因可能是脚本作者调用了大漠插件,你应该可以在c盘找到一个dm dll的文件,这就是大漠插件,你可以关闭杀毒软件后 防止误杀或防火墙没关 ,再试一下。 如果是其它软件,则先打开任务管理器,转到进程管理面板,...