掌握String类的两种实例化方式
String name1=”李兴华”
String name2=new String(“李兴华”);
String name3=name2;
System.out.println(name1==name2) false
System.out.println(name1==name3)false
System.out.println(name2==name3)true
内存分析==比较的地址的值
如果要想判断其内容是否相等,则需要使用equal方法,开发中比较常用。
掌握String的两种比较操作
基本数据类型中使用==进行比较
深入分析String类两种实例化方式的区别
在String中直接赋值和使用构造方法的方法赋值,有什么区别呢
String name=”李兴华”
就表示将一个堆内存空间的指向给了栈内存空间,只有掌握了这一点之后才可以分析出使用那种实例化方式更合适。
public class StringDemo07{
public static void main(String args[]){
String str1 = "hello" ; // 直接赋值
String str2 = "hello" ; // 直接赋值
String str3 = "hello" ; // 直接赋值
System.out.println("str1 == str2 --> " + (str1==str2)) ; // true
System.out.println("str1 == str3 --> " + (str1==str3)) ; // true
System.out.println("str2 == str3 --> " + (str2==str3)) ; // true
}
};
使用直接赋值的方式可以有效的节省内存。使用直接赋值的方式只需要一个实例化对象就可以,而使用new String()的方式则意味着要开辟两个内存对象。所以开发中最好使用直接赋值的方式。
掌握String的使用方法