String a = "sss";和String a = new String("sss");有什么区别吗?

原创 2004年09月21日 14:39:00
String a = "sss";和String a = new String("sss");有什么区别吗?

不一样的。

前者会检查缓冲池中有没有"sss",如果有就不分配新的系统资源生成对象了,所以有可能引用的是同一个地址。

后者每一次生成新的对象,不可能出现引用同一个地址的情况。

String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?

String s = new String("xyz"); 这个跟常量池没有关系,只要是new,都是重新分配堆空间,如果不区分栈和堆,这里创建了1个String Object。如果是从jvm角度来说...
  • BornLiLi
  • BornLiLi
  • 2017年02月16日 15:52
  • 5611

java中String new和直接赋值的区别

java中String new和直接赋值的区别     对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)...
  • u014082714
  • u014082714
  • 2015年11月28日 22:06
  • 6444

LTE小区搜索-物理小区ID和同步信号PSS、SSS

参考文献: (1)3GPP TS 36.211 V9.1.0 (2010-03) Physical Channels and Modulation (2)http://www.sharetechnot...
  • m_052148
  • m_052148
  • 2016年05月02日 20:00
  • 20644

Java中String直接赋值和使用new的区别

String str1 = "ABC";String str2 = new String("ABC");String str1 = “ABC”;可能创建一个或者不创建对象,如果”ABC”这个字符串在j...
  • OREO_GO
  • OREO_GO
  • 2016年05月13日 19:39
  • 11346

getBytes()和new String()操作系统编码格式

getBytes()方法 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这表示在不同的操作系统下,返回的东西不一样! String.g...
  • icanlove
  • icanlove
  • 2015年03月04日 12:58
  • 6036

面试题之String str = new String("abc"); 创建了几个对象

今天去面试的时候碰到了这个问题:String str = new String("abc"); 创建了几个对象,回来自己研究并查阅资料才发现答错了。。 网上的争论不少,有的说是两个,答案应该是:两个...
  • limingchuan123456789
  • limingchuan123456789
  • 2013年11月04日 23:12
  • 11661

Stringstr=new String("abc") 这行代码究竟创建了几个对象?

Stringstr=new String("abc");   紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信大家对这道题并不陌生,答案也是众所周知的,2个...
  • stanxl
  • stanxl
  • 2015年01月03日 10:32
  • 3824

new String()究竟创建几个对象?

new String()究竟创建几个对象?1. 由来遇到一个Java面试题,是关于String的,自己对String还有点研究?下面是题目的描述: 在Java中,new String("hello...
  • Sun1956
  • Sun1956
  • 2016年11月14日 17:39
  • 4543

String 两种定义方法的区别

String s2=new String("123"); //编译时先去字符串常量池检查,是否存"123",如果不存在,则在常量池中开辟内存空间存放"123";如果存在,则不用重新开辟空间。然后在堆...
  • u012221046
  • u012221046
  • 2016年09月02日 09:24
  • 1238

new String("aaa")创建了几个String对象?

String str=new String("aaa");   这行代码究竟创建了几个String对象呢?答案是2个,而不是3个。由于new String("aaa")相当于"aaa"与一个...
  • qq_18416057
  • qq_18416057
  • 2016年09月12日 09:25
  • 1052
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:String a = "sss";和String a = new String("sss");有什么区别吗?
举报原因:
原因补充:

(最多只允许输入30个字)