java中的字符串(String)

1.字符串创建(长字符串连接,推荐StringBuilder)
1. 采用字面值的方式赋值:例如 String str = "hello",JVM首先会去字符串池中查找是否存在”hello”这个对象,如果不存在,则在字符串池中创建”hello”这个对象,然后将池中”hello”这个对象的引用地址返回给字符串常量str;如果存在,则不创建任何对象,直接将池中”hello”这个对象的地址返回,赋给字符串常量str。String str2 = "hello",str ==str2 结果为true;
2. 采用new关键字:String str = new("hello"),JVM首先在字符串池中查找有没有”hello”这个字符串对象,如果有,则不在池中再去创建”hello”这个对象了,直接在堆中创建一个”hello”字符串对象,然后将堆中的这个”hello”对象的地址返回赋给引用str;如果没有,则首先在字符串池中创建一个”hello”字符串对象,然后再在堆中创建一个”hello”字符串对象,然后将堆中这个”hello”字符串对象的地址返回赋给str。String str2 = new("hello"),str == str2 结果为false;// ==为比较地址。如果使用String类的equals方法,比较的是值,str1.equals(str2) 结果为true。


2.空字符串与null
空字符串代表长度为0的字符串,null代表没有关联任何对象


3.常用api

  • char charAt(int index):返回给定位置的代码单元
  • int codePointAt(int index):返回从给定位置开始的码点
  • int compareTo(String other):按照字典顺序,如果支付穿位于ohter之前,返回一个负数;如果字符串位于other之后返回一个正数;如果相等,返回0
  • boolean equals(String other):如果与ohter相等返回true
  • boolean equalsIgnoreCase(String other):忽略大小写的比较
  • boolean startWih(Sting prefix):以prefix开头,则返回true
  • boolean endWith(String suffix):以suffix结尾,则返回true
  • int indexOf(……):从前往后匹配,存在返回开始位置,不存在返回-1
  • int lastIndexOf(……):从后往前匹配
  • int length() : 返回字符串长度
  • String replace(CharSequence oldStr, CharSequence newStr):替换
  • String sustring(……):截取
  • String toLowerCase():转换成小写
  • String toUpperCase():转换成大写
  • String trim():返回新字符串,去掉头部和尾部空格
  • String join(……):字符串连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值