1. 当对String字符串进行重新赋值时,需要重新指定内存区域进行赋值,不能使用原有的Value进行赋值
2. 当对现有的String字符串进行拼接操作时,也需要重新指定内存区域进行赋值操作
3. 当调用String的replace()方法修改指定字符或字符串时,也需要重新指定内存区域进行赋值操作
字符串的定义方法,把lucy赋值给String一个叫name的对象。
String s=new String();
String name="lucy";
当然我们也可以这样赋值,这样就把abc赋给了value。String类定义了一个字符串数组的常量,一旦赋值不能更改常量。
String s=new String("abc");
String name="lucy";
还是这个代码,我们给他一个字符串
String s=new String("abc");
String s1="lucy";//在内存中查找是否存在lucy这个字符串, 不存在则创建一个Lucy字符串,然后把该字符串地址放入s1栈内存中
String s2="lucy";//在内存中查找是否存lucy这个字符串, 存在则把该字符串地址放入s2斩内存中
System.out.println(s1==s2);
s1="jack"//不是修改s1地址映射的字符串的内容
输出的结果是true
字符串是常量:它们的值在创建后不能更改。字符串的本质是一个char类型的数组
数组定义的写法
方法一
char[] arr1;
方法二
char arr2[];
各种常用用法
String s = "3126b23br8dm907fer"; //返回指定字符第一次出现的位置 int i = s.indexOf(4); System.out.println(i); //返回指定字符第一次出现的位置 int b = s.indexOf("b"); System.out.println(b); //返回指定字符最后一次出现的位置 int r = s.lastIndexOf("r"); System.out.println(r); //将字符串替换为另一个字符串 String p = s.replace("b", "m"); System.out.println(p); String ss = "SSDUUDfcgYHLfhbUGVHyf"; String[] split = ss.split("afddae"); System.out.println(split); //返回指定长度内字符串内容 String x = ss.substring(1, 6); System.out.println(x); //将字符串转化为新的字符数组 char[]chars=ss.toCharArray(); System.out.println(chars); //将字符串所以字母改为小写 String m=ss.toLowerCase(); System.out.println(m); //将字符串所以字母改为大写 String n=ss.toUpperCase(); System.out.println(n); //返回一个字符串,值为此字符串,并删除任何前导和尾随空格 String o=ss.trim(); System.out.println(o); String list="qwertyuiop"; //返回一个字符串的指定位置的字符 char ll=list.charAt(1); System.out.println(ll); //将两个字符串进行拼接 String qq=list.concat("ss"); System.out.println(qq); //当且仅当此字符串包含指定的 char 值序列时,返回 true。 boolean aa=list.contains("q"); System.out.println(aa); //测试此字符串是否以指定的后缀结束。 boolean cc=list.endsWith("p"); System.out.println(cc); //把字符串按照ASCII解析成byte数字 String list2="2022-12-2"; byte[] tt=list2.getBytes(); for (byte v:tt) System.out.println(v);