public class AA{
public static void main( String args[] ){
String s1 = new String( "Hello" );
String s2 = new String( "Hello" );
if( s1 == s2 ) System.out.println( "s1=s2" );
String ss1 = new String( "Hello" );
String ss2 = ss1;
if( ss1 == ss2 ) System.out.println( "ss1=ss2" );
String sa1 = new String( "Hello" );
String sa2 = new String( sa1 );
if( sa1 == sa2 ) System.out.println( "sa1=sa2" );
}
}输出结果是 ss1 = ss2
请问String ss2 = ss1;与String sa2 = new String( sa1 );有什么区别?清高手们赐教
public static void main( String args[] ){
String s1 = new String( "Hello" );
String s2 = new String( "Hello" );
if( s1 == s2 ) System.out.println( "s1=s2" );
String ss1 = new String( "Hello" );
String ss2 = ss1;
if( ss1 == ss2 ) System.out.println( "ss1=ss2" );
String sa1 = new String( "Hello" );
String sa2 = new String( sa1 );
if( sa1 == sa2 ) System.out.println( "sa1=sa2" );
}
}输出结果是 ss1 = ss2
请问String ss2 = ss1;与String sa2 = new String( sa1 );有什么区别?清高手们赐教
解决方案 »
- 什么是Swing焦点?
- Java Swing的日历控件谁有啊!
- 如何判断是驱动器类型
- java中如何判断一个线程是否存在?
- 急~~有应用软件经验进~~
- java.util.MissingResourceException: Can't find bundle for base name operation, locale zh_CN?
- 网上有用java写的系统监控程序么?
- java的类真多,类用法的在线邦助哪里可下载到?我曾看到别人有。
- 只今晚有效:100分求一个Applet小动画
- 在书上看到is-a和has-a不知是什么意思,高人解答下,thanks!!
- 那里可以下到更多的jdk6的源代码
- 一个有关Jtree的问题
String ss2 = ss1使得ss1和ss2指向同一个"Hello",而String sa2 = new String( sa1 );由于你使用了new,sa1和sa2指向不同的"Hello","=="不成立
public class AA{
public static void main( String args[] ){
String s1 = new String( "Hello" );
String s2 = new String( "Hello" );
if( s1 == s2 ) System.out.println( "s1=s2" );
//上面行的s1和s2是两个不同的对象,s1 == s2 返回的是false,如果用s1.equals(s2)的话就返回true,String ss1 = new String( "Hello" );
String ss2 = ss1;
if( ss1 == ss2 ) System.out.println( "ss1=ss2" );
//上面行的s1和s2是同一个对象,当然它们==了,所以打印这行String sa1 = new String( "Hello" );
String sa2 = new String( sa1 );
if( sa1 == sa2 ) System.out.println( "sa1=sa2" );
//sa2 = new String( sa1 ); 注意这里你用了new关键字,说明它也是一个新的对象,不同的对象,它的引用(地址)肯定不同,所以不==
}
}
String ss2 = ss1;与String sa2 = new String( sa1 );的区别:String ss2 = ss1;让ss2和ss1指向同一个对象
String sa2 = new String( sa1 );重新new一个对象,把这个新new出来的对象复制给sa2