提问:String a = "ABCd"; 和 String a = new String("ABCd");这两种方式的区别到底在什么地方啊?

diaoxm 2003-05-14 07:04:38
问题如标题!
...全文
105 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
diaoxm 2003-05-15
  • 打赏
  • 举报
回复
Up,Up,谁告诉我为什么不能结贴??要不我又会被扣分:(
diaoxm 2003-05-15
  • 打赏
  • 举报
回复
我结贴,系统为什么这样提示:??????
0,8,0,2,0,0,0,10,0
贴子回复次数大于跟给分次数
shengzi_78 2003-05-15
  • 打赏
  • 举报
回复
没有不同,两个类,原理一样,就像royalier(皇家)说的
diaoxm 2003-05-15
  • 打赏
  • 举报
回复
哦,基本上明白了!准备结贴,谢谢大家!^_^
shkwh 2003-05-15
  • 打赏
  • 举报
回复
提问:String a = "ABCd"; 和 String a = new String("ABCd");这两种方式的区别到底在什么地方啊?

jvm中定义了一个字符串池,里面放的是一些字符串,这样就不用每次都生成对象
String a = "ABCd";将"ABCd"放入池中,不用再开辟内存空间.
如果String b = "ABCd";则a==b;

String a = new String("ABCd");还要开辟内存空间.
如果String b = new String("ABCd");则a!=b
diaoxm 2003-05-15
  • 打赏
  • 举报
回复
String也是一个类啊,Entity也是一个类啊。里面处理有什么不同啊?
旋转的魔方 2003-05-15
  • 打赏
  • 举报
回复
String 是个类型,可以不实例化; Entity 是个对象,不实例化不能用。
diaoxm 2003-05-15
  • 打赏
  • 举报
回复
继续问一个问题,我觉得和这个问题类似:
比如:
Entity entity = new Entity();
for(i=1;i<10;i++){
entity.id = i;
vector.add(entity);
}
这样放进去的vector里面的对象就全部都是相同的对象。
但是如果把Entity换成String的话,这个问题就不会存在了。
String test="";
for(int j=1;j<10;j++){
test = "abcd"+j;
vector.add(test);
}
如此则vector里面存放的每一个String都是不同的。

String类和其他类的处理有什么不同啊??
liangxf0022 2003-05-14
  • 打赏
  • 举报
回复
up, 有没有执行上的问题,象equals/clone方面的区别?
jeston 2003-05-14
  • 打赏
  • 举报
回复
up
royalier 2003-05-14
  • 打赏
  • 举报
回复
这是java的基础知识,这两者是不相同的。
第一个a在程序运行的过程中,是永远占用一块相同的内存,且内容是一样的。给a重新赋值的时候只会让a指向另一个地方。
而第二个就是动态分配内存的,
diaoxm 2003-05-14
  • 打赏
  • 举报
回复
up,怎么没人帮我?:(

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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