Java常用类:String类(学习笔记)

关于String类(学习笔记)

简介:

  1. String表示字符串类型,属于引用数据类型,不属于基本数据类型。
  2. 在java中随便使用双引号括起来的都是String对象。例如"abc" , “def” , “xyz” 这是三个String对象
  3. java中规定,双引号括起来的字符串是不可变的,一代创建,终身不可变化。
  4. 在JDK当中双引号括起来的字符串,例如"abc" , “def” 等 都是直接存储在“方法区” 中的 “字符串常量池” 当中的。
    为什么SUN公司要把字符串存储在一个“字符串常量池”当中呢?因为字符串在实际开发当中使用太频繁,为了执行效率,所以把字符串放在了字符串常量池中。

以下借用视频中的内存图解释字符串常量池

  • 内存图1
String s1 = "abcdef";
String s2 = "abcdef" + "xy" ;
String s3 = new String("xy");
//以上代码的内存图如下:

在这里插入图片描述

  • 内存图2

内存图由下图所示
以上代码的内存图如下图所示:
在这里插入图片描述

  • 内存图3
    在这里插入图片描述
    以上代码的内存图如下图所示:
    在这里插入图片描述
    所以上图中s1 == s2 返回值是true ,因为内存地址相同。
    x == y 的返回值是false 因为内存地址不同。

String类的常用方法展示:

  1. 返回值:char charAt(int index)
    返回 char指定索引处的值。
    在这里插入图片描述

  2. int compareTo(String anotherString)
    按字典顺序比较两个字符串。
    在这里插入图片描述

  3. boolean contains(CharSequence s)
    当且仅当此字符串包含指定的char值序列时才返回true。
    其实就是判断字符串中是否包含你输入的字符串片段。
    CharSequence 是String类实现的一个接口,所以也可以传入String类参数。
    在这里插入图片描述

  4. boolean endsWith(String suffix)
    测试此字符串是否以指定的后缀结尾。
    在这里插入图片描述
    boolean startsWith(String prefix)
    测试此字符串是否以指定的前缀开头。
    在这里插入图片描述

  5. boolean equals(Object anObject)
    将此字符串与指定对象进行比较。
    在这里插入图片描述

  6. boolean equalsIgnoreCase(String anotherString)
    将此 String与其他 String比较,忽略大小写。 在这里插入图片描述

  7. byte[] getBytes()
    使用平台的默认字符集将此 String编码为字节序列,将结果存储到新的字节数组中。
    在这里插入图片描述

  8. int indexOf(int ch)
    返回指定字符第一次出现的字符串内的索引。
    返回-1表示不存在。
    在这里插入图片描述

    扫描二维码关注公众号,回复: 10607974 查看本文章
  9. int lastIndexOf(int ch)
    返回指定字符的最后一次出现的字符串中的索引。
    返回-1表示不存在。
    在这里插入图片描述

  10. boolean isEmpty()
    判断字符串是否为空。
    在这里插入图片描述

  11. int length()
    返回此字符串的长度。
    在这里插入图片描述

  12. String replace(CharSequence target, CharSequence replacement)
    用第二个参数替换字符串中的所有第一个参数。
    在这里插入图片描述

  13. String[] split(String regex)
    将此字符串分割为给定的 regular expression的匹配。
    在这里插入图片描述

  14. String substring(int beginIndex)
    返回一个字符串,该字符串是此字符串的子字符串。
    在这里插入图片描述

    String substring(int beginIndex, int endIndex)
    返回一个字符串,该字符串是此字符串的子字符串。
    在这里插入图片描述

  15. char[] toCharArray()
    将此字符串转换为新的字符数组。
    在这里插入图片描述

  16. String toLowerCase()
    全部转换成小写。
    在这里插入图片描述

    String toUpperCase()
    全部转换成大写。
    在这里插入图片描述

  17. String trim()
    返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。
    在这里插入图片描述

  18. static String valueOf(所有类型的参数)
    返回一个字符串。
    在这里插入图片描述
    可参考valueOf的源代码,valueOf()方法会调用toString()方法,返回一个响应的字符串。

println()方法其实会调用valueOf()方法,然后在调用toString方法,所以在控制台输出的其实都是字符串。可以参考源代码。

发布了5 篇原创文章 · 获赞 19 · 访问量 1030

猜你喜欢

转载自blog.csdn.net/ssH18868325485/article/details/105392534