Java字符串(String类)

定义方法:

  1、String demo = "test";

  2、String demo = new String();

  3、String demo = new String("test");

字符串的不变性:

  String s1 = "imooc";
  String s2 = "imooc";    //imooc为常量字符串,多次出现时会被编译器优化,只创建一个对象
  String s3 = "I love"+s1;
  String s4 = "I love " + s1;
  System.out.println("s1和s2内存地址相同吗?" + (s1 == s2));    //相同
  System.out.println("s1和s3内存地址相同吗?" + (s1 == s3));    //不同
  System.out.println("s3和s4内存地址相同吗?" + (s4 == s3));    //不同,s1是变量,s4在运行时才知道具体值,所以s3和s4是不同的对象

  

注意:

1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1

2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符

 

StringBulider

StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

这些方法修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。

转载于:https://www.cnblogs.com/yaohunzhanyue/p/7123567.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值