黑马程序员技术交流社区
标题:
关于==和equals的问题
[打印本页]
作者:
xiaoya0o0o
时间:
2015-9-15 23:01
标题:
关于==和equals的问题
public class Test{
static String s1 = "abc";
public static void main(String[] args) {
String s2 = "abc";
String s3 = new String("abc");
String s4 = "abc";
System.out.println("s1==s2: "+(s1==s2));
System.out.println("s1==s3: "+(s1==s3));
System.out.println("s2==s3: "+(s2==s3));
System.out.println("s2==s4: "+(s2==s4));
System.out.println("s1equals(s2)------"+s1.equals(s2));
System.out.println("s1equals(s3)------"+s1.equals(s3));
System.out.println("s2equals(s3)------"+s2.equals(s3));
System.out.println("s2equals(s4)------"+s2.equals(s4));
}
}
为什么s1==s2 结果为true
static是在静态代码块中,而String字符串是在常量池中,==在比较的时候是比较的地址
难道说静态static和String在内存中存储在一个区吗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2