我是靠谱客的博主 淡淡月光,最近开发中收集的这篇文章主要介绍String s = new String("xyz");创建了几个String Object?String s = new String(“xyz”);创建了几个String Object?,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
String s = new String(“xyz”);创建了几个String Object?
两个。第一个对象是字符串常量"xyz" 第二个对象是new String()的时候产生的,在堆中分配内存给这个对象,只不过这个对象的内容是指向字符串常量"xyz" 另外还有一个引用s,指向第二个对象。这是一个变量,在栈中分配内存。
变形①:String s = "xyz"创建了几个String对象?
首先看常量池里有没有"xyz",如果有直接引用,如果没有则创建再引用,这里"xyz"本身就是pool中的一个对象,而在运行时执行new String()时,将pool中的对象复制一份放到heap中,并且把heap中的这个对象的引用交给s持有。ok,这条语句就创建了2个String对象。
变形②:String str = “aaa” + new String(“bbb”)创建了几个String对象?
四个, "aa"一个对象 new Sring()一个对象 "bbb"一个对象 “aa” + new String(“bbb”);一个对象
最后
以上就是淡淡月光为你收集整理的String s = new String("xyz");创建了几个String Object?String s = new String(“xyz”);创建了几个String Object?的全部内容,希望文章能够帮你解决String s = new String("xyz");创建了几个String Object?String s = new String(“xyz”);创建了几个String Object?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复