字符串 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的主要内容,如果未能解决你的问题,请参考以下文章

String 字符串

C++String类String插入单个字符,插入字符串的函数实现

C++String类String删除单个字符,删除字符串的函数实现

C++String类String查找单个字符,查找字符串的函数实现

JAVA String 怎么去掉指定字符

string库