关于String类的小问题

BabeInArms 2003-09-12 07:54:57
请问用String类定义时,什么时候用new定义?

如:String s1 = "hello";
或:String s2 = new String( "hello" );

有什么区别吗?

谢谢,各位了。
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weimenren 2003-09-12
  • 打赏
  • 举报
回复
String s1 = "hello";

hello 本身就是一个String的Implementation

这个只是给s1一个hello的拷贝,不会new占用内存,而只会告诉编译器要给s1一个指向hello的指针

String s2 = new String("hello');

需要给s2新new 一片内存区域分配,以保存hello的值


JavaBoyCaoJi 2003-09-12
  • 打赏
  • 举报
回复
如:String s1 = "hello"; s1直向一个地址
或:String s2 = new String( "hello" ); s2是一个内存块
sam79 2003-09-12
  • 打赏
  • 举报
回复
楼上说的没错,尽量少用new
schwarzenegger 2003-09-12
  • 打赏
  • 举报
回复
不完全一样,

String s1 = "hello";性能高一些;


看一看<effective java>

62,612

社区成员

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

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