一个迷惑的问题,请解答 String s="xxx"与 String s=new String("xxx")有什么区别吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的理解:String s="xxx" 是创建一个无名对象 "xxx",然后s引用这个无名对象String s=new String("xxx") 是创建一个字符串对象s,初始化值为"xxx"如果理解有错误,还请大家指正 ^_^ String s="xxx"和new是有区别的,String s="xxx"形式赋值是在常量池中而不是象new一样放在压缩堆中这种形式的字符串,在JVM内部发生字符串拘留,即当声明这样的一个字符串后,JVM会在常量池中先查找有有没有一个值为"xxx"的对象,如果有,就会把它赋给当前引用.即原来那个引用和现在这个引用指点向了同一对象,如果没有,则在常量池中新创建一个"xxx",下一次如果有String s1 = "xxx";又会将s1指向"xxx"这个对象,即以这形式声明的字符串,只要值相等,任何多个引用都指向同一对象.而String s = new String("xxx")和其它任何对象一样.每调用一次就产生一个对象.只到它们调用intern()方法时才会产生上面那种效果书上是这么解释的,请各位继续补充。 String s="xxx",是一个常量字符串,即一个字符串的对象String s=new String("xxx")创建了两个对象,首先是产生了一个"xxx"对象,然后new产生的字符串对象,是对"xxx"的一个拷贝 组件removeall后添加显示不出来 如下JAVA代码为什么画不了圆? appletviewer运行程序后不能显示内容!! java字符串转化数值的问题. 请问用JAVA如何实现打印输出某个文本文件的内容 每次调试总发生javaw.exe错误 Eclipse 动态设置 toolsbar 请教JAVA高手关于JAVA和DELPHI执行效率比较的问题: 看看我的程序好吗?各位大侠! 一个简单例子:关于java线程对象的销毁问题, 非常困惑! 两个习题的疑惑!! 《我在北大青鸟的180天》/Java部分/第一章
我的理解:String s="xxx" 是创建一个无名对象 "xxx",然后s引用这个无名对象String s=new String("xxx") 是创建一个字符串对象s,初始化值为"xxx"如果理解有错误,还请大家指正 ^_^
intern()方法时才会产生上面那种效果书上是这么解释的,请各位继续补充。