zoukankan      html  css  js  c++  java
  • String、StringBuilder、StringBuffer

    字符串分为String、StringBuilder、StringBuffer。

    这三个类都是在java.lang包下面,如图:摘自JDK API 1.6.0中文版

    1、String类:查看文档可以发现该类是继承Object类,实现自接口Serializable、Comparable<String>,、CharSequence

    • String 对象不可变的,存在方法去中的常量池中。String类中每一个看起来会修改String值得方法,实际上都是创建了一个全新的String对象。
    • String对象具有只读性,所以任何指向他的任何引用都不可能改变它的值。

    String str1="abc";                    //str1指向的内存中只有一个对象abc
    String str2=new String("abc");        //str2指向的内存中有两个对象abcnew
    System.out.println(str1.equals(str2));//比较的是字符串的内容是否相同 , 结果是true
    System.out.println(str1==str2);       //比较的字符串的对象引用是否一样,结果是false

    String类的一些常用方法:

    String的方法
    方法 返回值 作用
    charAt(int index) char 取得String中索引位置上的char
    codePointAt(int index) int 返回指定索引处的字符(Unicode 代码点)。
    codePointBefore(int index) int 返回指定索引之前的字符(Unicode 代码点)。
    compareTo(String anotherString) int,返回值是-1、0、1 按字典顺序比较两个字符串。(大小写并不等价)
    compareToIgnoreCase(String str) int 按字典顺序比较两个字符串,不考虑大小写。
    concat(String str) String 将指定字符串连接到此字符串的结尾。也就是返回一个新的String对象,内容是原始String连接上参数String
    contains(CharSequence s) boolean 该String对象包含参数内容,则返回true
    contentEquals(CharSequence cs) boolean  将此字符串与指定的 CharSequence 比较。如果内容一致则返回true。参数是CharSequence 
    contentEquals(StringBuffer sb) boolean 将此字符串与指定的 CharSequence 比较。如果内容一致则返回true。参数是StringBuffer
    endsWith(String suffix) boolean 测试此字符串是否以指定的后缀结束。表明此参数是否是该字符串的后缀。
    equals(Object anObject) boolean 将此字符串与指定的对象比较。
    equalsIgnoreCase(String anotherString) boolean 将此 String 与另一个 String 比较,不考虑大小写。
    getBytes() byte[] 复制byte到目标数组中
    hashCode() int 返回此字符串的哈希码值
    indexOf(int ch) int 返回指定字符在此字符串中第一次出现处的索引。
    indexOf(int ch, int fromIndex) int 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
    lastIndexOf(String str) int 返回指定子字符串在此字符串中最右边出现处的索引。
    lastIndexOf(String str, int fromIndex) int 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
     length()  int  返回此字符串的长度。
     matches(String regex)  boolean  告知此字符串是否匹配给定的正则表达式
     replace(char oldChar, char newChar)  String  返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
     replaceAll(String regex, String replacement)  String  使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
     replaceFirst(String regex, String replacement)  String  使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
     split(String regex)  String[]   根据给定正则表达式的匹配拆分此字符串
     startsWith(String prefix)  boolean  测试此字符串是否以指定的前缀开始。
     startsWith(String prefix, int toffset)  boolean  测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
     subSequence(int beginIndex, int endIndex)  CharSequence  返回一个新的字符序列,它是此序列的一个子序列。
     substring(int beginIndex)  String  返回一个新的字符串,它是此字符串的一个子字符串。注意参数
     substring(int beginIndex, int endIndex)  String  返回一个新字符串,它是此字符串的一个子字符串。注意参数
     toCharArray()  char[]  将此字符串转换为一个新的字符数组。
     toLowerCase(Locale locale)  String  使用给定语言环境的规则将此 String 中的所有字符都转换为小写。如果参数为空,则使用默认语言规则
     toUpperCase(Locale locale)  String  使用给定语言环境的规则将此 String 中的所有字符都转换为大写。如果参数为空,则使用默认语言规则
     toString()  String 返回此对象本身(它已经是一个字符串!)。 
     trim()  String  返回字符串的副本,忽略前导空白和尾部空白。
     valueOf(boolean b)  static String  参数可以是boolean、char、double、float、int、long、Object、char[]。返回参数内容的字符串表示形式

     

    2、StringBuffer类(查看文档可以发现该类是继承Object类,实现自接口Serializable、CharSequence

    3、StringBuilder类(查看文档可以发现该类是继承Object类,实现自接口Serializable、CharSequence

  • 相关阅读:
    English,The Da Vinci Code,Chapter 1-3
    Algorithm,Ds,Binary Indexed Trees,树状数组,二分索引树
    Algorithm,Acm,RMQ
    Algorithm,Number Theory,Prime
    Algorithm,Number Theory,GCD
    English,The Da Vinci Code
    Algorithm,LCA,Tarjan,深搜+并查集,最近公共祖先
    python,keyword arguments
    Qt,QObject
    python,build in functions
  • 原文地址:https://www.cnblogs.com/whx20100101/p/7572579.html
Copyright © 2011-2022 走看看