1、第一种方式——直接赋值
String name1="Jim";
2、第二种——创建对象
String name2=new String("Lucy");
3、区别
(1)直接赋值
先从常量池中查找是否有含有这个字符串,如果有则将地址直接赋给name11,如果没有则创建新的空间并将空间地址赋给name111
String name1="jim";
String name11="jim";
String name111="Nancy";
//在引用类型中,==用来比较地址是否一致
System.out.println(name1==name11);//一致
System.out.println(name1==name111);//不一致
(2)创建对象
每创建一个对象,都会创建一个新的空间将其地址赋给变量
String name2=new String("Lucy");
String name22=new String("Lucy");
System.out.println(name2==name22);//不一致