java笔记-String

基础知识

  • String属于引用数据类型,不属于基本数据类型。
  • 随便用双引号括起来的都是String对象,String对象是final修饰的,不可以改变。
  • 字符串直接存储在方法区的字符串常量池中,因为字符串在实际开发中使用太频繁,为了提高执行效率。

注意:垃圾回收器不会释放常量池的东西。

String常用的构造方法:

String s = new String("");
String s = "";   //最常用
String s = new String(char数组);
String s = new String(char数组,下标,长度);
String s = new String(byte数组);
String s = new String(byte数组,下标,长度);

String中常用到的方法:

返回值方法说明
charcharAt(int index)返回指定索引处的值。
intcompareTo(String anotherString)按字典顺序比较两个字符串。从头开始比
booleancontains(CharSequence s)判断前面的字符串是否包含后面的字符串。
booleanendsWith(String suffix)判断字符串是否以某个子字符串结尾。
booleanequals(Object anObject)判断两个字符串是否相等。
booleanequalsIgnoreCase(String anotherString)忽略大小写,判断两个字符串是否相等
byte[]getBytes()将字符串转换为字节数组
intindexOf(String str)判断某个字符串在当前字符串中第一次出现处的索引。
booleanisEmpty()判断当前字符串是否为空字符串。
intlength()返回当前字符串的长度。
intlastIndexOf(String str)判断某字符串在当前字符串中最后一次出现的索引。
Stringreplace(CharSequence target, CharSequence replacement)String的父接口是CharSequence。 将当前字段指定的字段替换成别的字段。
String[]split(String regex)以regex作为分隔符,拆分当前字符串,返回字符串数组。
booleanstartsWith(String prefix)判断当前字符串是否以某个子字符串开始。
Stringsubstring(int beginIndex)截断字符串,beginIndex为起始下标。
Stringsubstring(int beginIndex, int endIndex)截断字符串,beginIndex为起始下标,endIndex为结束下标。
char[]toCharArray()将字符串转换为数组
StringtoLowerCase()将字符串中的字符转换为小写。
StringtoUpperCase()将字符串中的字符转换为大写。
Stringtrim()去除字符串前后的空白部分。
static StringvalueOf()将非字符串的类型转换为字符串。

StringBuffer:

  • 当需要频繁用到拼接时,应该用StringBuffer。
  • StringBuffer append()//可以用这个方法
  • StringBuffer的底层初始容量为16
  • 方法中都有synchronized关键字修饰,表示StringBuffer在多线程环境下是安全的。

如何优化StringBuffer的性能:
在创建StringBuffer的时候,尽可能给定一个合理的初始容量,减少底层数组扩容次数。

StringBuilder:

  • 初始化容量为16。
  • 在多线程环境下是不安全的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值