String a = new String("b");到底是几个对象?

sunwei_07 2007-12-14 02:16:07
我只知道一个是“b”,一个是引用它的a
为什么有人说这是3个对象呢?
...全文
3585 148 打赏 收藏 转发到动态 举报
写回复
用AI写文章
148 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnthchuan 2011-09-01
  • 打赏
  • 举报
回复
绝对是两个。。。
tyzqqq 2010-05-17
  • 打赏
  • 举报
回复
高人们都笑呢
chendabian 2008-06-26
  • 打赏
  • 举报
回复
小菜鸟 来学习
jiaxinyuck110 2008-06-26
  • 打赏
  • 举报
回复
呵呵什么都要拿事实说话
这个问题只能在2和3之间讨论至于1个基本排除
82楼测试已经明确说明
hemaily 2008-06-26
  • 打赏
  • 举报
回复
我肯定 是两个对象 一个池中的 一个堆中的
jiaxinyuck110 2008-06-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 mysticpsvm 的回复:]
String s = "b";
String sg = new String("bb");
[/Quote]
解释下?
难道我以前的理解正好反了
这是我头次碰到这种说法!
jianghao168 2008-06-26
  • 打赏
  • 举报
回复
迷了啊,我对java中的存储方式一点都不了解啊
楼上那么多的讲解让我觉得自己好像不懂编程一样
要学习和了解的东西很多啊!!!
software820830 2008-06-26
  • 打赏
  • 举报
回复
8个,也有可能是十个或二十个,嘿嘿嘿,
zhouxianglh 2008-06-23
  • 打赏
  • 举报
回复
是两个吧? 我找不到第三个对象.
lzx6169936 2008-06-23
  • 打赏
  • 举报
回复
绝对是俩
goosman 2008-06-23
  • 打赏
  • 举报
回复
关于String a = new String("b");到底有几个对象.


说三种也是不错的.
head中一个对象.
stack中一个引用.
datasegement中一个字符串常量.
cryinghawk 2008-06-23
  • 打赏
  • 举报
回复

两个啊!!
绝对两个。。
sd5816690 2008-06-23
  • 打赏
  • 举报
回复
这帖子居然能顶这么高?
看来我还没理解存在于冥冥中JAVA的灵魂
m99801148 2008-06-23
  • 打赏
  • 举报
回复
如果别人有意见 那请问 生成一个String的对象a 并为其赋值"b" 怎么写?
m99801148 2008-06-23
  • 打赏
  • 举报
回复
String a = new String("b");
只有一个对象a
解析
String a 声明一个字符串类String的对象a
new String() 为对象a分配空间
=...("b") 为对象a赋值"b"
生成一个对象需要声明 分配空间 赋值.
这是java生成对象的基本格式
------------------------------------
lyric1812 2008-06-21
  • 打赏
  • 举报
回复
没有必要争执下去了!
only two!!
老话题了
richard_first 2008-06-21
  • 打赏
  • 举报
回复
2个,"b"和new String("b")
wyyl00 2008-06-21
  • 打赏
  • 举报
回复
很明显是俩个嘛。。。
phoenix_dt 2008-06-21
  • 打赏
  • 举报
回复
[Quote=引用 82 楼 java2000_net 的回复:]
同意80楼说法,比较容易理解!
支持2个对象

String a = new String("b");
可以拆分成如下2步操作
String b = "b"; // 创建一个字符串对象 b
String a = new String(b); // 此时,会再次创建一个对象a;

帖一段测试代码和运行结果
public class TestString {
public static void main(String[] args) {

String a = "b";
String b = new String(a);
String c = "b";
System.ou…
[/Quote]

可以理解为a是一个字符串引用它指向String pool中的字符串b;
b是一个字符串引用的对象指向heap里新创建的字符串对象b
这跟创建几个对象有何关系?
phoenix_dt 2008-06-20
  • 打赏
  • 举报
回复
以前都没想过这种问题!我也觉得是2个!!24楼解释的很清楚了!
加载更多回复(126)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧