Java常见API(1)

5 阅读2分钟

String的API

String的一条注意点:

  • 这是创建了一条新的字符串name,而原先的哪个name被舍弃了;
  • 并不是被赋值了;

image.png

创建String对象的方法

1. 直接赋值:见上图、内存结构见下图:

image.png

  • 双引号直接赋值:检查串池,有就复用同一个地址值,没有就创建新的;
  1. 创建String的对象,使用构造方法:

image.png

内存结构见下图:

image.png

因为有了new关键字,所以虚拟机会在堆内存开辟一个新的空间,由字符数组copy这两个新的地址空间; 最后将地址给变量;

注意: s1 s2的地址空间是不一样的,是新创建的;

image.png

字符串常见的成员方法

字符串的比较

image.png

  • 实际开发应用:账号登陆
boolean equals = username.equals(rightUsername) && oassword.equals(rightPassword);

遍历字符串

image.png

1.charAt

image.png

2.字符串的遍历

image.png

字符串的截取与替换

截取

image.png

  • 字符串创建后是无法改变的,截取时不会影响原本的字符串;切记:只有返回值才是截取后的结果; image.png
替换

image.png

案例:敏感词过滤

  • replace的时候会遍历字符串,如果字符串有左边(arr[i]),就让arr[i]替换右边(***);

image.png

其他字符串常用方法

image.png

Contains

image.png

startsWith/endsWith
  • 主要用于:判断文件后缀名;第二个参数为开始的索引;
  • String a = “abcdaefg”; image.png
indexOf()
  • String a = “abcdaefg”; image.png
isEmpty()
  • String a = “abcdaefg”;

image.png

toCharArray()
  • 用于修改字符串的内容; image.png
toUpperCase()、toLowerCase()
  • 输出结果为ABCDE image.png
trim()
  • 去除同为空格,同样用于登录(头部不小心按了个空格) image.png

StringBuilder

  • ~是字符串的一个工具类,可以让我们拼接字符串效率更高
  • 原始拼接法:创建了太多的无用字符串,占用内存;

image.png

  • StringBuilder
  • ~只是一个容器,最终还是要变回字符串(toStirng); image.png
public static void main(String[] args) {
    StringBuilder sb = new StringBuilder("hello");
    int len = sb.length();
    System.out.println(len);// 5
    sb.append("world");
    System.out.println(sb);// helloworld
    System.out.println(sb.reverse()); // dlrowolleh
    System.out.println(sb.toString()); // helloworld
}