Java基础—String类小结

时间:2023-03-09 00:27:12
Java基础—String类小结

一、String类是什么

  

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
/** The value is used for character storage. */
private final char value[];

/** Cache the hash code for the string */
private int hash; // Default to 0

/** use serialVersionUID from JDK 1.0.2 for interoperability */
private static final long serialVersionUID = -6849794470754667710L;

由第一段源码可知,String是一个 final 类,底层实现是final的字符数组,一旦创建,无法改变。

二、如何创建

  String s1 = "abc";//字符串常量池中创建一次(如不存在)

  String s2 = new String("abc");//字符串常量池中和堆中各创建一次

关于字符串常量池这里就不再赘述。

三、常用方法

    1. char charAt (int index)     返回index所指定的字符
    2. String concat(String str)   将两字符串连接
    3. boolean endsWith(String str)    测试字符串是否以str结尾
    4. boolean equals(Object obj)  比较两对象
    5. char[] getBytes     将字符串转换成字符数组返回
    6. char[] getBytes(String str)     将指定的字符串转成制服数组返回
    7. boolean startsWith(String str)  测试字符串是否以str开始
    8. int length()    返回字符串的长度
    9. String replace(char old ,char new)  将old用new替代
    10. char[] toCharArray  将字符串转换成字符数组
    11. String toLowerCase()    将字符串内的字符改写成小写
    12. String toUpperCase()    将字符串内的字符改写成大写
    13. String valueOf(Boolean b)   将布尔方法b的内容用字符串表示
    14. String valueOf(char ch)     将字符ch的内容用字符串表示
    15. String valueOf(int index)   将数字index的内容用字符串表示
    16. String valueOf(long l)  将长整数字l的内容用字符串表示
    17. String substring(int1,int2)     取出字符串内第int1位置到int2的字符串

    常用方法就不再举例分析赘述,这里提一下几个注意的点:

        String的==比较的是地址,equals比较的是值

        String对于连接操作+的底层实现是基于StringBuffer的append

        待补充更新.