java14

今天来复习一下java中的String类
string类适用于描述字符串事物。
那么他就提供了多个方法对字符串进行操作。
常见的操作有哪些?
1.获取。
1.1 字符串中的包含的字符数也就是字符串的长度。
int length(); 数组也有长度 int length;
1.2 根据数值获取位置上的某个元素。
char charAt(int index);
1.3 根据字符获取该字符在字符串中的位置。
int indexof(int ch); 返回的时ch在字符串中第一次出现的位置
int indexof(int ch,int fromIndex):从fromindex指定位置开始,获取ch在字符串中出现的位置。
int indexof(String str):返回的是str在字符串中第一次出现的位置。
int indexof(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。
int lastIndexof(int ch) 反向检索字符ch在字符串中出现的位置。

  1. 判断
    2.1 字符串中是否包含某一个字串。
    boolean contains(str):
    特殊之处:indexof(str):可以索引str第一次出现的位置,如果返回—1,表示该str不在字符串中存在。
    所以也可以用于对指定判断是否包含。
    2.2 字符串中是否有内容。
    boolean isEmpty():原理就是判断长度是否为0.
    2.3 字符串是否以指定内容开头。
    boolean startwith(str);
    2.4 字符串是否是以指定内容结尾。
    boolean endswith(str);
    2.5 判断字符串内容是否相同。复写了object类中的equals方法。
    boolean equals(str);
    2.6 判断内容是否相同,并忽略大小写。
    boolean equalsgnoreCase();
    3.转换
    3.1 将字符数组转成字符串。
    构造函数:string(char[])
    string(char[].offset.count);将字符数组中的一部分转成字符串。
    静态方法:
    static string copyvalueof(char[]);
    static string copyvalue(char[] data,int offset,int count)
    static string valueof(char[]);
    3.2 将字符串转成字符数组。
    char[] tocharArray();
    3.3 将字节数组转成字符串
    string(byte[])
    string(byte[],offset.count);将字节数组中的一部分转成字符串。
    3.4 将字符串转成字节数组。
    byte[] getBytes();
    3.5 将基本数据类型转成字符串。
    static string valueof(int)
    static string valueof(double)
    4.替换
    String replace(oldchar,newchar);
    5.切割
    string[] split(regex); 切割也就时将字符串分成几个部分
    6.子串。获取字符串中的一部分。
    string substring(begin);从指定位置到结尾
    string substring(begin,end); 包含头不包含尾
    7.转换,去除空格,比较
    7.1 将字符串转成大写或者小写。
    String toupperCase();
    string tolowercase();
    7.2 将字符串两端的多个空格去除。
    string trim();
    7.3 对两个字符串进行自然顺序比较。
    int compareto(string);

8 字符串stringbuffer 字 符串缓冲区
特点:
1.长度是可以变化的。
2.可以字节操作多个数据类型
3.最终会通过tostring方法变成字符串。
存储
1.stringbuffer append():将指定数据作为参数添加到已有数据结尾处。
stringbuffer insert(index.数据):可以将数据插入到指定index位置
删除
1.stringbuffer delete(start,end):删除缓冲区的数据,包含start,不包含end
stringbuffer deletecharAt(index):删除指定位置的字符。
获取
char charAt(int index)
int indexof(string str)
int lastindexof(string str)
int length()
string substring(int start,int end)
修改
stringbuffer replace(start,end,string);
void setcharAt(int index,char ch);
反转
stringbufffer reverse();

将缓冲区中指定数据存储到指定数组指定位置
void getchars(int srcbegin,int srcend,char[] dst,int dstbegin); dst:目标

jdk5.0之后出现了stringbuilder
stringbuffer 是线程同步的
stringbuilder 是线程不同步的。
如果是单线程建议使用stringbuildr因为效率高

猜你喜欢

转载自blog.csdn.net/qq_39127312/article/details/83046013