博客
关于我
String类,我来了,看看你有啥值得我青睐
阅读量:348 次
发布时间:2019-03-04

本文共 1426 字,大约阅读时间需要 4 分钟。

String类在Java中是字符串操作的核心类,以下是对String类的详细分析和常用方法的总结:

  • String对象的不可变性

    • String对象在内存中的存储形式有两种:直接用双引号括起来的字符串(存储在方法区的常量池中)和通过new关键字创建的字符串(存储在堆内存中)。
    • 当进行字符串拼接操作时,原字符串不变,生成新的字符串对象,并将新字符串的引用赋给变量。
  • String类的构造方法

    • new String("字符串"):创建常量池中的字符串对象。
    • new String(new byte[] { ... }):创建从字节数组构建的字符串对象。
    • new String(new char[] { ... }):创建从字符数组构建的字符串对象。
  • 字符串操作方法

    • charAt(int index):返回指定索引位置的字符。
    • contains(String arg):判断字符串中是否包含指定子字符串。
    • endsWith(String arg):判断字符串是否以指定子字符串结尾。
    • compareTo(String arg):比较字符串的大小,返回整型结果。
    • equalsIgnoreCase(String arg):忽略大小写比较字符串是否相等。
    • getBytes():将字符串转换为字节数组。
    • indexOf(String arg):返回子字符串或字符的首次出现索引。
    • isEmpty():判断字符串是否为空,空格多个字符的字符串不是空字符串。
    • length():返回字符串的长度。
    • replace(String arg, String replacement):替换字符串中的某些字符。
    • substring(int beginIndex):从指定索引截取到末尾。
    • substring(int beginIndex, int endIndex):从指定索引截取到指定索引之前的位置。
    • toCharArray():将字符串转换为字符数组。
    • toLowerCase():将字符串转换为小写。
    • toUpperCase():将字符串转换为大写。
    • trim():去除前后空格。
    • valueOf(Object obj):将对象转换为字符串,调用其toString()方法。
  • 字符串比较与操作注意事项

    • 使用equals()比较字符串内容,使用==比较引用地址。
    • compareTo()用于字符串的字典序比较,返回值决定大小关系。
    • 使用equalsIgnoreCase()进行忽略大小写的比较。
  • 内存管理

    • 直接用双引号创建的字符串在常量池中,不可变且只存在一个实例。
    • 通过new String()创建的对象在堆内存中,新生成一个实例每次调用拼接操作。
  • 实际应用示例

    • String s1 = "hello";:直接创建常量池中的字符串。
    • String s2 = new String("hello");:创建堆中的字符串对象。
    • String s3 = new String(new byte[] {97,98,99});:创建包含"abc"的字符串。
    • 使用System.out.println(s)会自动调用String.valueOf()方法,将对象转换为字符串输出。
  • 通过对String类的深入理解,可以有效地进行字符串操作,提升代码的性能和可维护性。在实际编程中,合理使用字符串拼接和操作方法,避免内存泄漏,充分利用String类的功能,提高开发效率。

    转载地址:http://pmeq.baihongyu.com/

    你可能感兴趣的文章
    Prefix Tuning:详细解读Optimizing Continuous Prompts for Generation
    查看>>
    PreparedStatement 与Statement 的区别,以及为什么推荐使用 PreparedStatement ?
    查看>>
    PreparedStatement 查询 In 语句 setArray 等介绍。
    查看>>
    presentModalViewController显示半透明的一个view
    查看>>
    PresentViewController切换界面
    查看>>
    PyTorch之torch.utils.data.DataLoader解读
    查看>>
    PyTorch之DataLoader杂谈
    查看>>
    presto、druid、sparkSQL、kylin的对比分析
    查看>>
    Presto分布式大数据查询引擎
    查看>>
    Presto架构及原理
    查看>>
    Presto(一)集群部署
    查看>>
    Presto(二)开启安全认证
    查看>>
    Pricing procedure Steps and Details in SAP MM (from SCN)
    查看>>
    Prim 算法在不同权重范围内的性能分析及其实现
    查看>>
    Primace 5.0软件与KEIL单片机软件联合在线仿真步骤
    查看>>
    Prime Distance
    查看>>
    Prim求MST最小生成树
    查看>>
    Prim算法与Kruskal算法在均匀分布权重图中的性能比较
    查看>>
    Prim算法在加权连通图中的简单实现
    查看>>
    Prim算法详解及C代码示例
    查看>>