package com.heima;
public class Test5_String {
public static void main(String[] args) {
//1,判断定义为String类型的s1和s2是否相等
String s1 = "abc"; //常量池中没有这个字符串,对象就会创建一个,如果有直接用即可
String s2 = "abc";
System.out.println(s1==s2); //true
System.out.println(s1.equals(s2)); //true
//2,下面这句话在内存中创建了几个对象
String s3 = new String("abc"); //创建了两个,一个在常量池中,一个在堆内存中
//3,判断定义为String类型的s1和s2是否相等
String s4 = new String("abc"); //记录的是堆内存中对象的地址值,
String s5 = "abc"; //记录的是常量池中的地址值
System.out.println(s4==s5); //false
System.out.println(s4.equals(s5)); //true
//4,判断定义为String类型的s1和s2是否相等
String s6 = "a"+"b"+"c"; //java中有常量优化机制
String s7 ="abc";
System.out.println(s6==s7); //true
System.out.println(s6.equals(s7)); //true
//5,判断定义为String类型的s1和s2是否相等
String s8 = "ab";
String s9 = "abc"; //常量池中
String s10 = s8 + "c"; //堆内存中
System.out.println(s10==s9); //false
System.out.println(s10.equals(s9)); //true
}
}
|
|