字符串 String
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串 String相关的知识,希望对你有一定的参考价值。
一》.字符串的方法
1)。.length() 字符串的长度,即字符串包含的字符数
2)。 .concat() 如:string1.concat(string2);连接字符串 和“”+“”功能是一样的
3)。.format() 创建格式化字符串
4)。.endsWith() 如:string1.endsWith(".com") ; 测试此字符串是否以指定的后缀结束。
.startwith()测试此字符串是否以指定的前缀开始。
5). .equals() 比较组成字符串内容的字符是否相等
==比较两字符串在内存的首地址是否相等,即判断是否是同一个字符串对象。
6)。.equalsIgnoreCase()比较内容是否相等,忽略大小写
.toLowerCase() 使用默认规则将字符串中的字符转化为小写
.toUpperCase() 使用默认规则将字符串中的字符转化为大写
7)。 。hashcode() 返回此字符串的哈希吗
8)。.indexof(“。”) 搜索第一次出现“。”的位置 下标 返回的是int型下标值
如果没有找到搜索的字符或字符串则返回-1
.indexof(int ch,int fromindex) 从指定的位置开始索引
.lastindexof(".")搜索最后一次出现“。”的位置 下标
9)。 .intern() 字符串的规范化表示形式
10)。.regionMatches() 监测两字符串在一个区域内是否相等
public boolean regionMatches(
boolean ignoreCase,//如果为 true,则比较字符时忽略大小写。 int toffset,// 此字符串中子区域的起始偏移量。 String other,//字符串参数。 int ooffset,//字符串参数中子区域的起始偏移量。 int len//要比较的字符数。)
11)。 .replace(char oldChar,char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
12)。.slipt() 拆分字符串 如:str.slipt("-")从有-的地方开始拆分字符串,拆开后放在字符串数组中
13)。.subSequence(int beginIndex,int endIndex)返回一个新的字符序列,它是此序列的一个子序列
-
beginIndex -- 起始索引(包括)。
-
endIndex -- 结束索引(不包括)。
14)。.toCharAt()将字符串转化为字符数组
15).substring(int index)提取从位置索引开始的字符串,返回一个新的字符串
16)。.toString() 以字符串形式输出
17)。.trim() 忽略前导空白和尾部空白 “ qwe ” "qwe"
18)。String valueOf() 将括号内的内容转化为字符串
二》。stringBuffer: string的增强版
声明:必须重新new对象,追加少的话不用stringbuffer.append,用string就足够了, 而且速度效率比较快,对追加很多的就用stringbuffer.append,效率会很快
StringBuffer sb = new StringBuffer();
StringBuffer sb = new StringBuffer("aaa");
使用: sb.tostring(); 转换为string型
sb.append("***") 追加字符串 运行速度比字符串中+和concat的效率高很多
sb.insert(i,‘,‘) 在字符串中插“,”
三》。string 和StringBuffer 的不同
String 是对象不是原始类型,为不可变对象,一旦被创建就不能被更改。。。它的值,对于已经存在的String进行修改,都是重新创建新的对象,然后把它的值保存进去,String是final类,不能被继承
StringBuffer 是一个可变的对象,当对它进行修改的时候不会像string一样,重新建立对象,他只能通过构造函数来建立, StringBuffer sb = new StringBuffer(); 不能通过赋值符号进行赋值,sb=“dgafd;错误 对象被建立以后,在内存中就会分配内存空间,并初始值保存一个null,向 StringBuffer 中赋值的时候通过他的append方法。 sb.append("***")
*****字符串的连接操作中StringBuffer 效率高于string str=new string(“@@@@”);str=str+“xx”;的实际处理步骤是通过建立一个StringBuffer 对象,调用StringBuffer 对象的append方法,然后在调用tostring ()方法转成string,这样string的链接操作实际上就比StringBuffer 多出了一些附加操作,效率上就变低了,并且由于string是不可变对象,每次操作都对重新建立对象赋值,原有对象会废弃,自然会损耗效率。。
以上是关于字符串 String的主要内容,如果未能解决你的问题,请参考以下文章
C++String类String插入单个字符,插入字符串的函数实现
C++String类String删除单个字符,删除字符串的函数实现