Java基础知识学习:String类

目录,更新ing,学习Java的点滴记录

  目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录

String类_String类基础用法

  1. String 是我们开发中最常用的类,我们不仅要掌握 String 类常见的方法,对于 String 的底层实现也需要掌握好
  2. String基础
     String类又称作不可变字符序列
     String位于java.lang包中,Java程序默认导入java.lang包下的所有类
     Java字符串就是Unicode字符序列,例如字符串"Java"就是4个Unicode字符’j’,‘a’,‘v’,'a’组成的
     Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义的类String,每个用双引号括起来的字符串就是String的一个实例
    在这里插入图片描述

String类_常量池

  1. 在 Java 的内存分析中,我们会经常听到关于“常量池”的描述,实际上常量池也分了以下三种:
     1) 全局字符串常量池(String Pool)
      全局字符串常量池中存放的内容是在类加载完成后存到 String Pool 中的,在每个 VM 中只有一份,存放的是字符串常量的引用值(在堆中生成字符串对象实例)
     2) class 文件常量池(Class Constant Pool)
      class 常量池是在编译的时候每个 class 都有的,在编译阶段,存放的是常量(文本字符串、final 常量等)和符号引用
     3) 运行时常量池(Runtime Constant Pool)
      运行时常量池是在类加载完成之后,将每个 class 常量池中的符号引用值转存到运行时常量池中,也就是说,每个 class 都有一个运行时常量池,类在解析之后,将符号引用替换成直接引用,与全局常量池中的引用值保持一致。

String类_API文档

  1. 下载地址:链接:https://pan.baidu.com/s/1y-0YbzztDXWcbgdPkquv_A 提取码:u73u
  2. String类包含许多方法而LL,在标准库中有几千个类,要想记住所有的类和方法是一件不太不可能的事情.因此,学会使用在线API文档十分重要,从中可以查阅到标准类库中的所有类和方法
  3. 所有的包,点击后会展开该包下的所有类
    在这里插入图片描述
  4. 以String类为例,找到java.lang,然后找到String
    在这里插入图片描述
  5. 在IDEA中,鼠标左键点击一个要查看的类,然后按F2也可以快速看到对应类的部分内容
    在这里插入图片描述 如果看不到需要修改设置:File–>Setting–>Editor–>General
      在这里插入图片描述

String类_String类常用方法

  1. 方法一览表
    在这里插入图片描述在这里插入图片描述
  2. 子串
     String类的substring方法可以从一个较大的字符串中提取出一个子串.例如:
      在这里插入图片描述 创建了一个"Hel"字符串.substring方法的第一个参数是起始位置(包括该位置,从0开始计数),第二个位置是结束位置(不包括)
     优点:容易计算子串长度,字符串s.substring(a,b)的长度为b-a
  3. 拼接
     与绝大多数程序设计语言一样,Java语言允许使用+号进行连接(拼接)两个字符串
      在这里插入图片描述
     当将一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串,之前已经了解到任何一个Java对象都可以转换成字符串
  4. 不可变字符串
     String类没有提供用于修改字符串的方法。如果希望将"Hello"的内容修改为“Help!”, 不能直接地将greeting的最后两个位置的字符修改为’p’和’!’。
     在Java中的步骤是首先提取需要的字符,然后再拼接上替换的字符串
      在这里插入图片描述
     由于不能修改Java字符串中的字符,所以在Java文档中将String类对象称为不可变字符串
     不可变字符串却有一个优点:编译器可以让字符串共享。可以想象将各种字符串存放在公共的存储池中。字符串变量 指向存储池中相应的位置。如果复制一个字符串变量,原始字符串与复制的字符串共享相同的字符。Java的设计者认为共享带来的高效率远远胜过于提取、拼接字符串所带来的低效率。
  5. 检测字符串是否相等
     可以使用equals方法检测两个字符串是否相等,对于表达式s.equals(t),如果字符串s与字符串t相等,则返回true ;否则,返回falseo需要注意,s与t可以是字符串变量,也可以是字符串字面量。
      在这里插入图片描述
  6. 空串和Null串
     1) 空串""是长度为0的字符串。空串是一个Java对象,有自己的串长度(0)和内容(空)。可以调用以下代码检査一个字符串是否为空:
      在这里插入图片描述
     2) String变量还可以存 放一个特殊的值,名为null,这表示目前没有任何对象与该变量关联,要检査一个字符串是否为null,要使用以下条件:
      在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41649001/article/details/106589350