String:
1.字符串内容一旦声名就不可改变 发生改变则是创建了新的字符串(开辟新的空间生成新串)
2.String类的equals()方法、equals()方法会区分字符串的大小写,字母同大小写不同同样为False
eg.
public class Main{ //
public static void main(String[] args) {
String str1=“H”;
String str2=“h”; //结果为false
System.out.println(str1.equals(str2)); //equals方法为boolean类型 equlas方法比较多是内容 字符串的比较最好不使用==(地址不确定)
}
}
String 类中==和qeuals方法比较区别
==是java提供的关系运算符,主要功能是进行数值相等判断 如果用在String对象上表示的是内存地址数值比较
equals()方法是由String提供的一个方法,此方法专门负责进行字符串的内容比较。
一个字符串就是一个String的匿名对象,匿名对象就是已经开辟了堆内存空间的并可以直接使用的对象。
一个字符串就是一个String类匿名对象,如果使用new 关键字都会新开辟一个内存空间。eg.
String str=new String(“hello”); 存在两个空间一个是hello匿名对象空间一个是new开辟空间。
1.String 两种实例化方式:
.1直接赋值方式只会开辟一个堆空间,并会自动保存在对象池以供下次重复使用。
.2构造方法(String str=new String(“字符串”);)开辟两块堆空间,其中一个会成为垃圾空间(不会自动入池而且等待垃圾回收)用户可以通过手动入池 使用intern()方法手动入池。
关于String类的常用操作方法:
//author 名媛(源)
public class Main{ //
public static void main(String[] args) {
String str1="Hello";
char c[]=str1.toCharArray(); //将字符串转换为字符数组
byte st[]=str1.getBytes(); //将字符串转化为byte数组
System.out.println(st);
for(int i=0;i<c.length;i++) {
System.out.print(c[i]+"\t");
}
System.out.println("");
String str2=new String(c); //将字符数组转化为字符串
String str3=new String(c,1,2); //打印指定区间字符串
System.out.println(str2);
System.out.println(str3);
System.out.println(str1.charAt(1)); //取出指定位置的字符打印
int a=str1.length();
System.out.println(a); //字符串数组长度
System.out.println(str1.indexOf("h")); //从头开始查找位置的字符
System.out.println(str1.indexOf("o",2)); //指定位置开始查找对应的字符
System.out.println(str1.trim()); //清除左右两端的空格
System.out.println(str1.substring(2)); //指定位置截取字符串
System.out.println(str1.substring(2, 3)); //取指定区间字符串 开始位置取结束位置不取
String st1[]=str1.split("l"); //按照指定字符将字符进行拆分
System.out.println(st1);
System.out.println(str1.toUpperCase()); //将字符串变为 大写
//System.out.println(str1.toUpperCase(Local local));
System.out.println(str1.toLowerCase()); //将字符串转化为小写
System.out.println(str1.startsWith("e")); //判断是否以指定字符开始的
System.out.println(str1.endsWith("e")); //判断是否以指定字符结束
System.out.println(str1.equalsIgnoreCase("HeLLo")); //equals判断内容是否相同区分大小写内容完全相同而
//equalsIgnoreCase方法不区分大小写
System.out.println(str1.replaceAll("H", "y")); //将指定字符转换为指定字符并且被指定字符区分大小写
}
}