学习2____String,StringBuilder,StringBuffer
Posted xbfchder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习2____String,StringBuilder,StringBuffer相关的知识,希望对你有一定的参考价值。
一:String:
String类不可变的原因:底层是由private final char [ ]修饰的字符数组,这也决定了String类不可被继承(final修饰);
1.构造方法:由于在内存中存放的方式不同(常量池,堆),String可以使用常量进行赋值。
//两种方式的构造方法: String str="123"; //引用类型,但可以向常量一样赋值,因为在内存中存放的方式不一样 String str =new String ("123");
2.常用方法:
- charAt(index); //获得相应索引下标的字符
- length(); //返回该字符数组的大小, 数组用 length属性 String用length()方法, 集合类用size()方法;
- contains(str); //返回boolean,是否包含相应子串;
- getBytes(); //返回字节数组;
- toCharArray(); //转换成字符数组;
- indexOf(char); //找寻指定元素在string中第一次出现的位置;
- lastIndexOf(char); //找寻所给元素最后一次出现的位置;
- repalce(char,char); //替换指定的字符;
- split(string); //按照string进行字符串的分割,结果是一个str数组;
- subString(int): 截串:从int下标来时到最后 subString(int,int ) 截串 [ )的区间;
- toUperCase():字母全部转大写;
- toLowerCase(): 字母全部转小写;
- trim(); //去除字符串的前后的空格;
- matches(String regex); //是否匹配某一个字符串;
二,StringBuffer,StringBuilder:
底层也是字符数组,相比于String的字符数组 修饰符不同,所以限制不同。
1.构造方法:
StringBuilder sb=new StringBuilder(); //无参的构造,默认大小为16 StringBuilder sb= new StringBuilder("abc"); StringBuilder sb =new StringBuilder(string); //以String对象作为StringBuilder的构造方法的参数
2.常用方法:
- append(object); //拼串;
- capacity(); //返回底层字符数组的长度;
- length(); //返回有效元素的个数;
- charAt(int); //按索引返回index位置的char;
- subString(int,int); //返回一个String [ )
- deleteCharAt(int)l //按索引删除一个字符,返回一个StringBuilder;
- setCharAt(int,char); //将giant索引的字符修改;
- reverse(); //将串翻转 返回的还是一个StringBuilder;
- toString(); //将StringBuilder变换成一个String返回;
- trimToSize(); //压缩串
3.由于StringBuilder没有实现Compareable接口,没有compareTo()方法,不能进行元素的比较;
StringBuffer是JDK比较早期的版本,是线程安全的,但是执行效率低下。
以上是关于学习2____String,StringBuilder,StringBuffer的主要内容,如果未能解决你的问题,请参考以下文章
ANDROID_MARS学习笔记_S02_001_Spinner
尚硅谷_Java零基础教程(常用类——String)-- 学习笔记