小黄笔记之String类

创建

  1. 直接创建不加任何参数,这样获得的是一个空的字符串。
  2. 用一个字符数组做参数,将字符数组拼接后作为内容。
  3. 因为在底层是用byte数组储存,所以可以用一个byte数组做参数,将byte数组对应字符拼接后作为内容。
  4. 直接双引号内容,会在常量池中生成对应字符串常量。

"=="比较

基本类型的数据比较是比较内容是否相等,而引用类型则是比较地址值是否相等,即指向内容是否相等。

如果是双引号包裹,Java会先帮助我们在字符串常量池中创建对象,并将地址值赋值给栈中对象,而常量池中的字符串对象则是指向一个byte数组。

如果是创建的新对象,则会在堆中创建字符串对象,并指向byte数组。

常见方法

  • equals()可以比较字符串内容比较,括号中可以是常量。当出现常量与变量比较时,建议将常量写在前面,防止变量是 “NULL” 值。
  • equalsIgnoreCase()与equals()唯一的区别是前者忽略大小写。
  • concat()拼接两个字符串并生成新的字符串返回,生成新字符串的原因是Java中字符串不可改变。
  • charAt(index)返回第index个字符,下标从零开始,因为底层是byte数组。
  • indexOf(char)返回字符串中第一个char字符的下标,没找到则返回-1。
  • subString(index)截取下标从index开始至字符串结束的子字符串并返回。
  • subString(begin,end)截取从begin开始到end结束的左闭右开区间子串并返回。
  • toCharArray()将字符串转换为字符数组。
  • getBytes()将字符串转换为字节数组。
  • replace(A,B)将字符串中的子串A全部替换成串B。
  • split(str)以str作为分割线分割字符串,但是这个本质上是正则表达式,如果以 "."分割是无法做到的,若要以 "."分割需要写成 “\\.”。

2020年5月30日22:13:23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值