Java 之 String类 (常用类)

一、写在前面:

Java 中的 String 类是一个代表字符串的类。它属于 java.lang 包,因此不需要导入就可以直接使用。String 类被设计为不可变的,也就是说,一旦创建了 String 对象,它的值就不能被修改。

4c9d9efbe5fe47ef85232a77ca99a77d.png

String 类被声明为 final,这意味着它不能被继承。这是因为如果允许继承 String 类并修改其行为,可能会破坏字符串不可变性的特性,从而引入潜在的安全风险和性能问题。因此,Java 设计者选择将 String 类设计为不可变且不可继承的,以确保字符串操作的一致性和可靠性。

二、String类的常用构造器

  1. String():可以初始化一个string对象,指向一个空字符串序列。
  2. String(byte[] bytes): 可以初始化一个string对象,将指定字节数组中的的数据转换为字符串
  3. String(char() value):  可以初始化一个string对象,将指定字符数组中的数据转换为字符串。
  4. String( char [] value, int offset, int count): 可以初始化一个string对象,将指定字符数组中的指定数据转换为字符串。
  5. String(String original): 表示创建一个新的 String 对象,其内容与传入的 original 字符串相同。换句话说,它会复制参数字符串的内容并创建一个新的 String 对象。

 

    @Test
    void stringDemo(){

        //演示 : String类的常用构造器
        //1 —— String()
        String str0 = new String();
        System.out.println(str0);
        System.out.println("--------------------");

        //2 —— String(byte[] bytes)
        byte[] bytes = {68, 69, 70, 71};   //对应ASCII码表
        String str1 = new String(bytes);
        System.out.println(str1);
        System.out.println("--------------------");

        //3 —— String(char[] value)
        char[] value = {'z', 'c', 'v', '_', 'j', 'a', 'v'};
        String str2 = new String(value);
        System.out.println(str2);
        System.out.println("--------------------");

        //4 —— String(char[] value, int offset, int count)
        String str3 = new String(value, 0, 4);
        System.out.println(str3);
        System.out.println("--------------------");

        //5 —— String(String original)
        String str_4 = new String("CSDN yyds!");
        System.out.println(str_4);



        // --------------------
        // DEFG
        // --------------------
        // zcv_jav
        // --------------------
        // zcv_
        // --------------------
        // CSDN yyds!
        
    }

三、String类常用成员方法

1.判断功能的方法 :

①boolean equals(Object anObject)  :可以判断当前字符串与指定对象的内容是否相同,底层比较的是字符串的内容,区分大小写。

 ②boolean equalsIgnoreCase(String anotherString):判断当前字符串与指定字符穿的内容是否相同,不区分大小写。

③boolean startsWith(String prefix) :判断当前字符串是否以指定的字符串开头。

④boolean isEmpty() :判断当前字符串是否为空。


    @Test
    void stringDemo() {

        // //1 —— boolean equals(Object anObject)
        String str = "zcm";
        System.out.println("\"zcm\"字符串与str字符串的内容相等吗?" + "zcm".equals(str));
        System.out.println("================");

        //2 —— boolean equalsIgnoreCase(String anotherString)
        System.out.println("\"zcm\"字符串与str字符串的内容相等吗?" + "zcm".equalsIgnoreCase(str));
        System.out.println("================");

        //3 —— boolean startWith(String prefix)
        System.out.println("str字符串是否以\"zc\"开头?" + str.startsWith("zc"));
        System.out.println("str字符串是否以\"zc\"开头?" + str.startsWith("zc"));
        System.out.println("================");

        //4 —— boolean isEmpty()
        System.out.println("str字符串是否为空?" + str.isEmpty());


        // "zcm"字符串与str字符串的内容相等吗?true
        //         ================
        // "zcm"字符串与str字符串的内容相等吗?true
        //         ================
        // str字符串是否以"zc"开头?true
        // str字符串是否以"zc"开头?true
        //         ================
        // str字符串是否为空?false
    }

 2.获取功能的方法 :

 ①int length() :获取当前字符串的长度。

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

 ③int indexOf(String str) :获取指定字符 第一次出现的索引,默认从第0位开始。

 ④nt lastIndexOf(String str)。 获取指定字符(串)最后一次出现的索引,若没有,返回-1。

 ⑤String substring(int beginIndex) “获取指定索引位置(包含该位置) 之后的字符串。

         

 

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值