社区
Java SE
帖子详情
String的一个小问题
yzj123
2010-02-28 11:50:46
String s = new String("xyz");
创建了几个String Object?
...全文
387
36
打赏
收藏
String的一个小问题
String s = new String("xyz"); 创建了几个String Object?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lliiqiang
2010-03-05
打赏
举报
回复
创建了两个对象和一个引用.
引用s存放的是对象的地址而不是数值
豆虫
2010-03-04
打赏
举报
回复
引用 33 楼 bao110908 的回复:
这是 CSDN Java 版的周经帖!
的确看过N遍了。。。
孤独剑客
2010-03-03
打赏
举报
回复
晕菜, 又是这个, 别来了行不
两个, ThinkingInJava中的
east_java
2010-03-03
打赏
举报
回复
3个,构造函数中的一个,new一个,引用一个
http://www.java1995.cn/wiki/topic/2
zqfddqr
2010-03-03
打赏
举报
回复
。。。这种问题可以直接百度的 问过好多次了。。。
wang461137703
2010-03-03
打赏
举报
回复
两个,一个是放在池里,另一个放在了堆里。。。。。。
cwjieNo1
2010-03-03
打赏
举报
回复
仔细观察了一下,这个问题回帖的,都是等级不是很高的人·
火龙果被占用了
2010-03-03
打赏
举报
回复
我说产生 10 个对象,你难道把内存扒腾出来数数看不成?
火龙果被占用了
2010-03-03
打赏
举报
回复
这是 CSDN Java 版的周经帖!
xulei1987518
2010-03-02
打赏
举报
回复
顶,应该是2个吧……
swing_false
2010-03-02
打赏
举报
回复
2个吧 应该 第一是放在data区的 第二个放在堆空间中的
himlys
2010-03-02
打赏
举报
回复
String Object 就一个在字符串池里,对象和应该是3个
xxpp688
2010-03-01
打赏
举报
回复
String s = new String ("xyz");
是吧!楼主考我那:
这个问题要分情况讨论
首先要看存在不存在“xyz”(或者有无“xyz”)
一:
如果不存在“xyz”则创建了一个“xyz”对象;
二:
如果存在“xyz”那就是两个;
一个是:你创建的字符串“xyz”
一个是:字符串指向S的引用
liguang168
2010-03-01
打赏
举报
回复
这个问题争了几十年了,还有这么多人不知道。
有说1,2,3个的。
到底几个?自己慢慢理解,我觉得明白就行了,JAVA有一个字符串池。
字符串池有的话,不会重复生成,但new是肯定会生成一个新的对象。
所以String a = "abc";
String b = "abc";
String c = new String("abc");
a == b (true);
a == c (false);
a,本身也应该是一个对象。
OK.
狂想者
2010-03-01
打赏
举报
回复
学习一下,需要学习的太多了。。。。
哈特中尉
2010-03-01
打赏
举报
回复
String s = new String("xyz");
创建了3个对象:
(1)"xyz"
(2)new String("xyz")
(3)String s
解析:(1)创建对象"xyz"(2)再将该对象作为参数,创建new String("xyz")(3)创建对象s
最后:s指向new String("xyz")
musiclee
2010-03-01
打赏
举报
回复
我靠 还讨论这问题呢。。。。。。。
ahut12825
2010-03-01
打赏
举报
回复
3个,构造函数以个,new一个,引用一个
cheung1987
2010-03-01
打赏
举报
回复
mark,以前也看到这个问题有人发了,一直都很火
xueye052
2010-03-01
打赏
举报
回复
我是这样觉得的 两个或一个,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,这句代表就不会创建”xyz”自己了,直接从缓冲区拿。
加载更多回复(14)
string
的大小写转换
将
一个
string
转换成大写或者小写,是项目中经常需要做的事情,但
string
类里并没有提供这个方法。自己写个函数来实现,说起来挺简单,但做起来总让人觉得不方便。打个比方:早上起来想吃个汉堡,冰箱里有生牛肉,有面粉,也有微波炉,是可以自己做的,但是实在是太费事,没几个人愿意做。但是,打个电话给肯德基宅急送,10分钟后就有热乎乎的汉堡送上门了,大大节省了时间(时间就是金钱,你可以将时间用在更重要的开
Java中
String
内存地址的
问题
(为什么
String
的变量输出不是地址)
为什么
String
的变量输出不是地址? 因为所有的类继承Object类,所以单独输出
一个
对象的时候,他会调用Object.to
String
,打印出来的就是一串表达地址的字符串,最后调用的to
String
。 然而我们的
String
类里重写了to
String
(),它返回的是
String
自己,
String
是什么呢,
String
其实就是字符数组(),它内部封装了
一个
字符数组,所以打印字符串就是打印字符数组,而不是地址 关于Java中
String
内存地址的
问题
。 在创建
String
类型的变量的时候建议使用直接赋值
一个
char类型数据和
一个
String
类型数据比较
一个
char类型数据和
一个
String
类型数据比较 初学编程,模糊查询代码编写过程中遇见
一个
小
问题
---------如何对
一个
char类型数据和
一个
String
类型数据比较,经过简单测试解决了,记录一下自己的学习过程,可能方法比较…但也想和大家分享一下,大家有什么好的办法也请多多赐教!上图! ...
C++ 如何解决
string
类型无法比较大小的
问题
众所周知,
string
类型是无法比较大小的。测试发现,
string
类型比较大小时,似乎只是比较了数字的最高位。如下图: 解决方法其实并不难,只需将
string
转化为整形再比较即可。
string
转int其实有两种方法: 1) 在C标准库里面,使用atoi: #include #include std::
string
text = "152"; int number = s
new
String
()会创建几个对象
问题
一:new
String
("ab")会创建几个对象? 会创建2个对象: 对象1:new关键字在堆空间中创建的
String
。 对象2:字符串常量池中的对象“ab”。 public void test1(){
String
str = new
String
("ab"); } 字节码如下: 0 new #2 <java/lang/
String
> // 创建
String
(对象1) 3 dup // 复制引用地址 4 ldc #3 <...
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章