String常用方法简介
创建String对象的方法:
String s1=”imooc”;等同于String s3=new String(“imooc”);
都是创建了一个字符串对象imooc


String常用方法(上)
1.求字符串长度:
str.length();
- 取出位置在6的字符;字符串中的字符从0开始数,也就是第7个字符
str.charAt(6); - 取出子串,即字符串位置5及位置5以后的字符串
str.substring(5); - 取出子串,即字符串位置5(包括位置5)及位置7之前的字符串(不包括位置7)
str.substring(5,7)

String常用方法(下)
- 查找字符’A’在字符串中第一次出现的位置
str.indexOf(‘A’); - 查找子串“编程”在字符串中第一次出现的位置
str.indexOf(“编程”); - 字符’A’在字符串中最后一次出现的位置
str.lastIndexOf(‘A’); - 查找子串“编程”在字符串中最后一次出现的位置(其实是“编”最后一次出现的位置)
str.lastIndexOf(“编程”); - 在字符串index值为8的位置开始,查找子串“编程”第一次出现的位置是16
str.indexOf(“编程”,8)

编程练习1
使用String类常用方法完成字符串处理。
任务
1、 定义一个字符串”abcdefg”
2、 取出子串cde并转换为大写
3、 将DE替换为MM
4、 最后得到结果CMM
1 | package me.feihong.string; |
字符串与byte数组间的相互转换
字符串与byte数组之间的相互转换—–用的是utf-8编码
那么将相应的byte数组转换为字符串时—它所用的编码也应该为utf-8,要保持编码的一致

等于运算符与equals方法的区别
str1.euqals(str2) 指的是str1与str2的内容是否相同(
(str1==str2)指的是str1与str2的地址是否相同
常量池与堆

字符串的不可变性
不可变性:String对象一旦被创建不能更改,是不可变得
通过“=”改变的只是引用位置,对象的值还是未改变的
通过方法得出的子串,新的字符….都是存放在常量池中,而并不是覆盖了对象的值

StringBuilder概述
String和StringBuilder的区别
1.建议:当频繁操作字符串时,使用StringBuilder
- StringBuilder和StringBuffer
二者基本相似
StringBuffer是线程安全的,StringBuilder则没有,所以性能略高

StringBuilder常用方法
StringBuider
1.不具备不可变性,当频繁操作字符串时,使用StringBuider
2.StringBuilder(性能略高)和StringBuffer(线程安全)二者基本相似
3.StringBuilder str=new StringBuilder(“你好”);
System.out.println(“str=”+str.append(‘,’).append(“imooc!”));
4.使用str.delete()方法删除,然后使用str.insert()方法插入
5.使用replace方法直接替换 : str.replace(4,8,”MOOC”);

编程练习2
定义一个字符串,利用StringBuilder完成如下效果。
效果图:

任务
定义一个字符串”欢迎来到“
在”欢迎来到”后面添加内容,将字符串变成”欢迎来到imooc”
使用delete方法删除”欢迎来到”,然后插入“你好!”
将字符串变成“你好,imooc”
使用replace方法替换
1 | package me.feihong.string; |
编程练习3
定义一个字符串,使用StringBuilder的常用方法对字符串进行操作。
任务
1、 定义字符串”abc”
2、 使之经过处理得到字符串”fed—cba”,并进一步得到字符串”fedcba”
1 | package me.feihong.string; |