String类详解

String类详解

1. 说明

  1. String对象用于保存字符串,也就是一组字符序列
  2. 字符串常量对象是用双引号括起来的字符序列
  3. 字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节
  4. String类比较常用的构造器
  • String s1 = new String()
  • String s2 = new String(String original)
  • String s3 = new String(char[] c)
  • String s4 = new String(char[] c, int startIndex, int count)
  1. String 实现了Serializable,说明String可以串行化
  2. String 实现了Comparable接口,说明String对象可以比较

2. 创建String对象的两种方式

  • 方式1:直接赋值 String s = "avc";
  • 方式2:调用构造器 String s = new String(" ");

3. 两种创建String对象的区别

  • 方式1:先从常量池查看是否有”avc“数据空间,如果有,直接指向,如果没有则重新创建然后指向,最终指向的是常量池的空间地址
  • 方式2:先在堆中创建空间,里面维护了value属性,指向常量池的avc空间,如果常量池没有avc,重新创建,如果有,直接通过value指向,最终指向的是堆中的空间地址
  • 当调用intern()方法时,如果池已经包含一个等于此String对象的字符串,则返回池中的字符串,否则将此String对象添加到池中,并返回此String对象的引用
  • intern()方法最终返回的是常量池的地址

4. 字符串的特性

  • String是一个final类,代表不可变的字符序列
  • 字符串是不可变的,一个字符串对象一旦被分配,其内容是不可变的

5. String类的常见方法

说明:
  • String类是保存字符串常量的,每次更新都需要重新开辟空间,效率较低,因此Java设计者还提供了StringBuffer和StringBuilder来增强String的功能,并提高效率
常见方法(详解见API)
  • equals()
  • equalsIgnoreCase
  • length
  • indexOf
  • lastIndexOf
  • substring
  • trim():去前后空格
  • charAt
  • toUpperCae
  • toLowerCase
  • concat
  • replace
  • split
  • compareTo
  • toCharArray
  • format
posted @ 2021-05-09 22:13  mx_info  阅读(130)  评论(0)    收藏  举报