字符串
字符串的创建
1、通过初始化的方式创建
String str=“Hello”;
2、通过使用new关键字创建
String str=new String("Hello");
堆内存与栈内存
Java内存分为两种,一种叫做栈内存,一种叫做堆内存。
栈内存用来存放变量,堆内存用来存放变量的值。
字符串池用来存储初始化方式产生的字符串对象,且字符串池中的字符串不会重复,也就是相同值的字符串的内存地址相同
字符串的比较
1、equals():检查字符串内容的字符是否完全一致
2、==:判断两个字符串的内存地址是否相同
举例:
1 public class StringDemo { 2 public static void main(String args[]) { 3 String str1 = "Hello"; 4 String str2 = new String("Hello"); 5 String str3 = str2; // 引用传递 6 String str4 = "Hello"; 7 System.out.println(str1 == str2); // false 8 System.out.println(str1 == str3); // false 9 System.out.println(str1 == str4); // true 10 System.out.println(str2 == str3); // true 11 System.out.println(str1.equals(str2)); // true 12 System.out.println(str1.equals(str3)); // true 13 System.out.println(str1.equals(str4)); // true 14 System.out.println(str2.equals(str3)); // true 15 } 16 }
因为str1和str4都是初始化方式定义的且值相同,所以内存地址相同。str2是用new关键字定义的,所以内存地址与str1不同。str3是str2传递过来的,所以内存地址相同。
常用方法
字符串的连接
使用+连接字符串
1 String a="Hello"; 2 String b="World"; 3 String c=a+b;
使用String类的concat()方法,语法:A.concat(B),B字符串将被连接到A字符串后面。
String a="Hello"; String b="World"; String c=a.concat(b);

浙公网安备 33010602011771号