Java基础知识总结复盘之String类

96 阅读2分钟

Java基础知识总结复盘之String类

  • java.lang.String 类,不需要import
  • String类型是不可变的类型,String对象是不可变的对象

常用方法

length():字符串的长度

equals():比较字符内容是否一一相等

equalsIgnoreCase():忽略大小写比较

compareTo():正数表示第一个对象大,0表示两个对象相等,负数表示第二个对象大

startsWith():比较前缀

endsWith():比较后缀

charAt():返回指定索引所对应的字符

substring():从起始索引开始,往后全部截取出来

concat():进行字符串的拼接

replace():替换字符或者字符串

replaceAll():全部替换

regex():正则表达式 replaceAll中可以出现正则 replace中不能写正则

trim():去除前后空格

split():使用指定的字符串,进行切分

toUpperCase():转换为大写

toLowerCase():转换为小写

常量池

  • JVM为了优化 堆内存的使用率,在方法区划分一块空间作为运行时常量池(放字符串对象)
  • 当使用双引号直接赋值时,JVM先去运行时常量池中找有没有这个字符串对象,如果没有就新建然后返回这个对象内存起始地址;如果已经存在了那么直接返回这个对象的内存地址;
  • 两边都是常量(字面量)的时候拼接后的字符串会放入运行时常量池;
  • 两边如果出现变量 那么拼接后的字符串放在一个缓冲区中不在运行时常量池

StringBuffer/StringBuilder

  • 可变的字符串类型,在进行大量的字符串拼接的时候使用
  • StringBuffer是线程安全的,性能较低;给多线程准备
  • StringBuilder线程不安全,性能较高;给单线程项目准备的

StringBuilder常用方法

append():追加

insert():指定索引位置,插入内容

deleteCharAt():删除指定索引对应的字符

reverse():将字符串反转,倒置

类型转换

stringBuilder.toString();

private static void test() {
    StringBuilder stringBuilder = new StringBuilder("java");
    stringBuilder.append("Sun");
    //StringBuilder 转换 String 类型
    String s = stringBuilder.toString();
    System.out.println(s);
    method12(s);
}

StringBuffer常用方法

append():追加

insert():指定索引位置,插入内容

deleteCharAt():删除指定索引对应的字符

reverse():将字符串反转,倒置

indexOf():指定内容首次出现的索引位置