String类

字符串特点

  1. 字符串的内容永不改变

  2. 因为字符串内容不变,故字符串是共享使用

  3. 字符串相当于是char[]字符数组,底层实现是byte[]字节数组

字符串的常量池

  • 从JDK1.7之后,字符串常量池在堆中

  • 字符串常量池中的字符串对象保存的是字节数组的地址

  • 对于直接双引号的,是在常量池中

  • 对于使用new关键字创建的字符串,会转换为字节数组,然后把地址给到new出来的字符串对象

字符串变量比较的是地址,字符串是常量,一旦需要改变,比如拼接,那是产生了一个新的字符串。注意,字符串内容是不会改变的,变量名存储的是字符串的地址,打印出来的是字符串内容。

字符串常用方法

  public boolean equals(Object obj);//参数可以是任何对象,只有参数是一个字符串并且内容相同的才会返回true,否则返回false,equals方法比较内容是否相同,格式:常量.equals(变量),因为变量写前面,如果变量的值为null,可能会出现空指针异常
  public int length();
  public String concat(Strng str);//将当前字符串和参数字符串拼接成为新的字符串并返回
  public charAt(int index);//获取指定索引位置的单个字符,索引从0开始
  public int indexOf(String str);//查找参数字符串在本字符串中首次出现的索引位置,若没有就返回-1
  public String substring(int index);//截取从参数位置一直到字符串末尾,返回新的字符串
  public String substring(int begin, int end);//截取从begin开始到end结束,左闭右开[begin, end)
  public char[] toCharArray();//将当前字符串拆分成为字符数组并返回
  public byte[] getBytes();//获得当前字符串底层的字节数组
  public String replace(CharSequence oldStr, CharSequence newStr);//将所有出现的旧字符串替换成为新的字符串,并返回替换后的新字符串
public String[] split(String regex);//按照参数规则,将字符串切分为若干部分,正则表达式,转义字符,后续补充
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值