1. 字符串是一个常量,创建后就不可以改变。
2. 字符串字面值储存在字符串池中,可以共享;
3. String s = “Hello”; 产生一个对象,字符串池中储存;
4. String s = new String(“Hello”); 产生两个对象,堆、池各储存一个。
publicclassDemo02{publicstaticvoidmain(String[] args){
String name ="hello";//"hello"常量 ,储存在字符串池中;
name ="张三";//"张三"赋值给name,但是原先的hello常量并不改变,也不消失,而是在字符串池中新建一个空间。
String name2 ="张三";//原字符串池中已经存在,因此name2直接调用字符串池中的数据//字符串的另一种方式 new String();
String s =newString("java");//在字符串池 和 堆中各开辟一个空间,常量在字符串池中存在
String s1 =newString("java");
System.out.println(s==s1);//比较的是内存空间位置
System.out.println(s.equals(s1));//比较字符串的相同}}
String常用方法
1. public int length(); 返回字符串的长度;
2. public char charAt(int index); 根据下标获取字符;
3. public boolean contains(String str); 判断当前字符串中是否包含str。
4. public char[] toCharArray() 返回字符串中所对应的数值
5. public int indexOf(String str) 返回字符串首次出现的位置
6. public int lastIndexOf(String str) 返回字符串最后一次出现的位置
7. public String trim() 去掉字符串前后的空格
8. public String toUpperCase() 把小写转换为大写 toLowerCode() 把大写转换为小写
9. public boolean endWith(String str) 判断是否以str结尾 startWith(str) 判断是否以str开始
10. public String replace(char old , char new) 用新的字符串替换旧的字符串
11. public String[] split(String str) 对字符串进行拆分
包装类1.基本类型做对应的引用类型2.Object可同一所有数据,包装类的默认值是null。public class ClassSwitch { public static void main(String[] args) { //类型转换:装箱 将基本类型转换为数据类型 即从栈中移至堆中 int num1 = 18; Integer integer1 = new Integer(num1); Integer inte