String,StringBuffer,StringBuilder

1.String的常用构造方法
1.1.public String()创建一个空白字符串,不含有什么内容。
1.2.String(byte[] bytes) 根据字节数组的内容,创建一个字符串对象。
1.3.String(byte[] bytes, int offset, int length) 根据字节数组范围的内容,创建字符串对象。
1.4.String(char[] value) 根据字符数组的内容,创建一个字符串对象。
1.5.String(char[] value, int offset, int count) 根据字符数组范围的内容,创建字符串对象。
1.6.String s=“abc”.根据赋值的方式创建字符串对象,内容就是“abc".

package String类的测试;

/**
 * @author weijisheng
 * @create 2021-07-13 15:04
 */
public class StringTest {

    public static void main(String[] args) {
//        1.1.public String()创建一个空白字符串,不含有什么内容。
        String s = new String();
        System.out.println("=" + s + "=");
//            1.2.String(byte[] bytes) 根据字节数组的内容,创建一个字符串对象。
        byte[] bytes = {97, 98, 99, 100, 101, 102};
        String s1 = new String(bytes);
        System.out.println(s1);
//            1.3.String(byte[] bytes, int offset, int length) 根据字节数组范围的内容,创建字符串对象。
        byte[] bytes1 = {97, 98, 99, 100, 101, 102};//byte也是数字转化为字符串以ascii输出
        String s2 = new String(bytes1,1,3);
        System.out.println(s2);
//            1.4.String(char[] value) 根据字符数组的内容,创建一个字符串对象。
        char[] chars={'a','b','c','d'};
        String s3 = new String(chars);
        System.out.println(s3);
//            1.5.String(char[] value, int offset, int count) 根据字符数组范围的内容,创建字符串对象。
        char[] chars1={97,98,99,100,101};//char转化成字符串的时候以ascii输出
        String s4=new String(chars1,1,4);
        System.out.println(s4);
//            1.6.String s="abc".根据赋值的方式创建字符串对象,内容就是“abc".
    }
}

2.通过构造方法创建对象和直接赋值创建对象的区别
通过构造方法创建:通过new创建出来的字符串对象,每一次new都会申请新的内存空间,虽然字符串内容相同,但是地址值不同。
直接赋值创建对象:以" "方式给出的字符串,只要字符串序列相同(顺序和大小写),无论在程序中代码出现多少次,JVM都只会建立一个String对象,在字符串常量池中维护。
3.String注意事项
String是不可变的,这个类用final修饰的。
String字符串在jdk9之前,相当于字符数组,在9底层是字节数组。
String str=“adc”;
相当于
char[] cha={‘a’,‘b’,‘c’};String str=new String(cha);
4.==与equals
1.==如果是基本数据类型比较是数值
==如果是引用数据类型比较的是内存地址
String类的equals方法:

      boolean equals(Object anObject) :比较两个字符串内容是否相等 
      boolean equalsIgnoreCase(String anotherString)  :忽略大小写比较字符串。

5.String常用方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021071316172

判断功能的方法
            ★boolean isEmpty(); //判断字符串是否为空(长度为0返回true,不为0返回false)boolean contains(CharSequence s);    //判断字符串中是否包含 给定的字符串。
            boolean endsWith(String s); //判断字符串是否以 给定的字符串 结尾。
            boolean startsWith(String s); //判断字符串是否以 给定的字符串 开头。String replace(char oldChar,char newChar); //用新内容替代旧内容,返回新的字符串String replace(CharSequence oldStr,CharSequence newStr); //用新内容替代旧内容,返回新的字符串
            String toLowerCase();  //把字母都转成其对应的小写形式。
            String toUpperCase();  //把字母都转成其对应的大写形式。
            Char[] toCharArray() // 把字符串转换为数组
            byte[] getBytes() // 把字符串转换为字节数组String trim();            //移除首尾空格。String[] split(String regex);   //根据给定的内容,切割字符串,返回字符串数组
                    参数regex: 分割的规则(普通的字符串,也可以是特殊的字符串(正则表达式))	
            注意:null不能调用方法,如果调用了就会报空指针异常NullPointerException

5.1字符串反转的几种方式
第一种:将字符串转化成数组调用toCharArray()方法,然后倒序遍历输出,注意起始索引,避免数组越界。
第二种:使用charAt()方法,获取索引的字符,利用空白字符串拼接输出。
第三种:使用StringBuffer的reverse()方法,把字符串对象传入new出来的StringBuffer里面然后实现反转。

6.StringBuider

    **StringBuilder的两种常用构造方法:**

6.1.public StringBuilder():构造一个不含任何字符的字符串生成器,初始化容量是16.
6.2.public StringBuilder(String str):构造一个字符串生成器,初始化指定的字符串内容。
Stringbuilder的常用方法
public Stringbuilder append(任意类型);
StringBuilder reverse() ; 将此字符序列用其反转形式取代。
public StringBuilder insert(int offset,任意类型);在指定索引插入数据,并返回对象本身。
String—>StringBuilder利用StringBuilder的第二种构造方法传入一个字符串对象。
StringBuilder---->String.利用toString()方法。 可以将StringBuilder转化成String.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值