String字符串的常用方法

String 字符串(常量)

1.字符串的内容永不可改变【重点】

2.正式因为字符串不可改变,所以字符串是可以共享使用的。

3.字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。

创建字符串的常见3+1中方式

三种构造方法:

public Stirng() 创建一个空白字符串,不含有任何内容

public String(char [] array) 根据字符串数组内容,来创建对应字符串。

public String(byte [] array) 根据字节数组内容,来创建对应的字符串

一种直接创建

String str=“”;

字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。

对于基本数据类型来说,==是进行数值的比较。

对于引用数据类型来说,==是进行【地址值】的比较。

1.对于引用类型来说,==进行的是地址值的比较。

2.双引号直接写的字符串在常量池当中,new的不在池当中。

public boolean equals(Object obj) :参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true;否则返回false

注意事项:

1.任何对象都能用Object进行接收

2.equals方法具有对称性,也就是a.equals(b)和equals(a)效果一样。

3.如果比较双方一个常量一个变量,推荐把常量字符串写在前面。

推荐 "abc".equals(str) 不推荐 str.equals("abc")

String 当中与获取相关的常用方法有:

public int length(); 获取字符串当中含有的字符个数,拿到字符串长度。

public String concat(String str): 将当前字符串和参数字符串拼接成为返回新的字符串。

public char charAt(int index): 获取指定索引位置的单个字符。

public int indexOf(String str): 查找参数字符串在本字符串当中首次出现的位置,如果没有返回- 1值。

public String subString(int index ): 从参数位置一直到字符串末尾,返回新字符串。

public string subString(int begin ,int end): 截取从begin开始到end结束,中间的字符串。

备注: [begin, end),包含左边,不包含右边。

public char[] toCharArray() ; 将当前字符串拆分成为字符数组作为返回值。

public byte[] getBytes() : 获取当前字符串底层的字符数组。

public String replace(CharSequence oldString, CharSequence nweString) : 将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。

备注: CharSequence 意思就是说可以接受字符串。

public String[] split(String regex): 按照参数的规则,将字符串切分成为若干部分。

注意事项:split方法的参数其实是一个正则表达式 regex

static

如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在类。多个对象共享同一个数据。

注意:根据类名称访问静态成员变量的时候,全程和对象没有关系,之和类有关系

静态代码块

特点:当第一次用到本类的时,静态代码块执行唯一的一次。

静态内容总是优先于非静态,所以静态代码块币构造方法先执行。

静态代码块的典型用途:

用来一次性地对静态成员变量进行赋值。

String 类

字符串是常量:它们的值在创建之后不能更改。

字符串的底层是一个被final修饰的数组,不能改变,是一个常量。

private final byte [] value;

StringBuider 类

字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化1的String)

底层也是一个数组,但是没有被final修饰,可以改变长度

byte [] value = new byte[16];

StringBuilder 在内存中始终是一个数组,占用空间少,效率高,如果超出了StringBuilder的容量,会自动扩容

StringBuilder()

构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。

StringBuilder(String str)

构造一个字符串生成器,并初始化为指定的字符串内容。

StringBuilder 的常用方法

public StringBuilter oppend(.....) 添加任意类型数据的字符串形式,并返回当前对象本身。

链式编程:方法返回值是一个对象,可以继续调用方法

public String toString() 讲当前StringBuilder对象转换为String对象

StringBuilder 和 String 可以相互转换

String -> StringBuilder 可以使用StringBuildre的构造器

StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容

StringBuildre -> String 可以使用StringBuilder中的toString方法

public String toStriing() 将当前StringBuilder对象转换为String队对象。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190915A03SRA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券