请问String s="asdf"等价与String s=new String("asdf")吗?区别究竟何在?最好用程序解答。 http://fanqiang.chinaunix.net/a4/b5/20011114/0708001563.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String s1="hello";String s2="hello";s1和s2是同一个对象String s1=new String("abc");String s2=new String("abc");s1和s2不是同一个对象 创建一个对象一般要用new这样初始化:String s=new String("asdf");但String 有点特殊,能用双引号中的文字初始化:String s="asdf"; String s1="hello";String s2="hello";s1和s2是同一个对象String s1=new String("abc");String s2=new String("abc");s1和s2不是同一个对象------------------------------------------第一句:hello放在常量栈中,故s1和s2指向同一地址第二句:s1,s2指向不同的地址,用new的话每次都要新建地址空间 第一句:hello放在常量栈中,故s1和s2指向同一地址第二句:s1,s2指向不同的地址,用new的话每次都要新建地址空间就是这个意思 String s="asdf"在结果上等价于String s=new String("asdf"),但是前者效率高于后者。由于Java会自动为一个字符串常量生成一个String对象,所以后者实际生成2个字符串 编译器会为它遇到的每一个字符串直接值,也就是双引号括起来的字符串常量都自动的创建一个字符串对象。String s="asdf";//只创建一个字符串String s=new String("asdf");// 创建两个字符串所以说前者比后者更高效 第一个s指向了"asdf",有点超级链接的感觉。而第二个则是类似复制了一个“asdf”,类似复制功能。我仅仅是用最普通的形象语言来描述的。这个样子便于理解。 关于TextField 的一个问题 jfreechart时序图时间轴设置问题 请教c++中的stl与java中容器的问题?? 请问:报这个Prohibited package name: java.security是什么原因呀?? 关于java程序运行后报:"Unexpected Signal"的问题,哪位大虾知道解决办法呢?头疼~~~~~ 关于内部类 按钮中的事件 超简单问题!大家不要笑我!关于StringBuffer 如果我要用openFileDialog我应该import哪些? Spring咨询 100分求教 CVSNT 和WINCVS配置问题 请分析下面代码!
String s2="hello";
s1和s2是同一个对象String s1=new String("abc");
String s2=new String("abc");
s1和s2不是同一个对象
这样初始化:String s=new String("asdf");
但String 有点特殊,能用双引号中的文字初始化:String s="asdf";
String s2="hello";
s1和s2是同一个对象String s1=new String("abc");
String s2=new String("abc");
s1和s2不是同一个对象
------------------------------------------第一句:hello放在常量栈中,故s1和s2指向同一地址第二句:s1,s2指向不同的地址,用new的话每次都要新建地址空间
就是这个意思
编译器会为它遇到的每一个字符串直接值,也就是双引号括起来的
字符串常量都自动的创建一个字符串对象。String s="asdf";//只创建一个字符串
String s=new String("asdf");// 创建两个字符串所以说前者比后者更高效
而第二个则是类似复制了一个“asdf”,类似复制功能。
我仅仅是用最普通的形象语言来描述的。这个样子便于理解。