l 创建字符串的方式有很多,归纳起来有三种
1. 使用new关键字创建 字符串,例如:String str1 = new String(“abc”);
2. 直接指定(引号内包含文本),例如:String str2 = “abc”;
3. 使用串联生成新的字符串,例如:String str3 = “ab”+“c”;
l 字符串池
在JAVA虚拟机(JVM)中存在着一个字符串池,其中保存着很多String对象,并且可以被共享使用,因此它提高了效率。由于String类是final的,它的值一经创建就不可改变,因此我们不用担心String对象共享而带来程序的混乱。字符串池由String类维护,我们可以调用intern()方法来访问字符串池。
l String的特性
Ÿ String类是final的,不可被继承
Ÿ String类的本质是字符串数组char[],并且其值不可改变
Ÿ String类对象有个特殊的创建的方式,就是直接指定比如String str = "abc","abc"就表示一个字符串对象。而str是"abc"对象的地址,也叫做"abc"对象的引用。
Ÿ String对象可以通过“+”(串接符)串联,串联后会生成新的字符串
Ÿ 类中每一个看起来是会修改String值的方法,其实都是创建了一个新的String对象
Ÿ 如果字符串的内容经常会被修改,那么就要考虑使用另外两个可变的字符串类StringBuffer和StringBuilder
String的常用方法
l 获取
int length() // 获取字符串的长度
char charAt(int index) // 获取指定下标上的字符
int indexOf(String str) // 返回指定子字符串在此字符串中第一次出现处的索引
int lastIndexOf(String str)
String substring(int beginIndex , int endIndex) :获取子串
l 转换
String[] split(String regex) // 将字符串切割成字符串数组
char[] toCharArray() // 将字符串转换成字符数组
byte[] getBytes() // 将字符串转换成字节数组
String toUpperCase() // 转换成大写
String toLowerCase() // 转换成小写
String replace(char oldChae, char newChar) // 替换
String trim() // 去掉字符串两端的空格
String valueOf()
l 判断
boolean equals() // 判断是否相等
boolean equalIgnoreCase(String str) // 忽略大小写比较字符串的内容
boolean contains(String str) // 判断是否包含(JDK1.5)
boolean startWith(String prefix)
boolean endWith(String suffix)
l 比较
int compareTo(String anotherString) // 与指定字符串进行比较
l 其它
String intern() // 返回字符串的规范化表示形式(此方法用于操作字符串池)
StringBuffer 和 StringBuilder
l 字符串缓冲区
l 长度可变,并可修改
l 可以存储不同类型的数据
l 当需要使用的时候要先转换成字符串
l 既然是容器,就应该有具备相应的增删改查的功能:
Ÿ 添加
appand(数据) // 追加
insert(int offset , 数据) // 在指定位置插入数据
Ÿ 删除
delete(int start, int end)
deleteCharAt(int index)
Ÿ 查找
char charAt(int index)
int indexOf(…)
int lastIndexOf(…)
Ÿ 修改
replace(int start, int end, String str)
void setCharAt(int index, char ch) // 将给定索引处的字符设置为ch
希望这篇文章可以帮助到你,总之同学们,it资讯尽在职坐标。
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号