• 【学习笔记】字符串


    一、字符串:存储多个字符(字母、数字、汉字)
    二、String 引用数据类型,是最终类,不能被继承;
    定义的两种方式:
    1、String s1="admin";  存放在内存的常量池中;
    2、String s2=new String("admin"); 存放在堆栈中;

    例:

            String s1="admin";
            String s2="admin";
            System.out.println(s1.hashCode());
            System.out.println(s2.hashCode());
            System.out.println(s1==s2);
            String s3=new String("admin");
            String s4=new String("admin");
            System.out.println(s3.hashCode());
            System.out.println(s4.hashCode());
            System.out.println(s3==s4);

    //输出结果:

    92668751
    92668751
    true
    92668751
    92668751
    false


    三、注意:
    (一)对String反复进行操作时,会在内存中开辟大量的空间,浪费内存;
    (二)字符串中的常用方法:
    1、equals()方法:比较两个字符串的值是否一致。一致返回true,不一致返回false;
    2、equalsIgnoreCase()方法:不区分大小写比较两个字符串;

           例:

            String s="admin";
            System.out.println(s.equals("Admin"));                //false
            System.out.println(s.equalsIgnoreCase("Admin"));        //true


    3、charAt(下标):得到指定下标的字符,下标从0开始;

    例:

            String s="admin";
            System.out.println(s.charAt(2));                //输出结果:m


    4、concat("字符串"):将两个字符串连接到一起;和“+”功能一样

    例:

            String s1="admin";
            String s2=s1+"s";
            System.out.println(s2);
            System.out.println(s1.concat("s"));

    //输出结果:

    admins
    admins

    5、boolean endsWith("字符串"):返回布尔值,判断是否以参数字符串结束;

    例:

            String s="admin";
            System.out.println(s.endsWith("in"));        //true
    6、boolean startsWith("字符串"):返回布尔值,判断是否以参数字符串开头;

    例:

            String s="admin";
            System.out.println(s.startsWith("Ad"));        //false
    7、substring(开始下标,结束下标):截取字符串,如果只有开始下标,会一直截取到字符串的结尾;如果两个参数都有,结束下标位置上的字符不包含在截取范围内;即>=开始下标,<结束下标;

    例:

            String s="admin";
            System.out.println(s.substring(1));        //dmin
            System.out.println(s.substring(1,4));        //dmi


    8、int indexOf("字符串"):得到参数字符串在总字符串中的第一次出现的位置,如果没有出现,返回-1;

    例:

            String s="adminin";
            System.out.println(s.indexOf("in"));        //3
            System.out.println(s.indexOf("ins"));        //-1
      9、int lastIndexOf("字符串"):从后到前搜索位置,当前位置下标还是正向的,如果没有出现,返回-1

    例:

            String s="adminin";
            System.out.println(s.lastIndexOf("in"));        //5
            System.out.println(s.lastIndexOf("ins"));        //-1
    10、boolean isEmpty():判断字符串是否有内容;

    例:

            String s="adminin";
            System.out.println(s.isEmpty());        //false
    11、int length():获得字符串中字符的个数;

    例:

            String s="adminin";
            System.out.println(s.length());        //7
    12、String replace("旧的字符串","新的字符串"):用新字符串替换所有的旧字符串;

    例:

            String s="adminin";
            System.out.println(s.replace("in","on"));        //admonon


    13、String[] split("分割符"):将一个字符串以固定的分隔符拆分成字符串数组;

    例:

            String s="ad-m-in-in";
            String[] strs=s.split("-");
            System.out.println(Arrays.toString(strs));        //[ad, m, in, in]
       
    四、StringBuffer和StringBuilder类
    1、目的:解决反复对字符串操作开辟大量内存空间的问题;
    2、StringBuffer和StringBuilder和String的区别:
    String类中的内容不能改变, StringBuffer和StringBuilder中的内容可以改变;

    例:

            String s="admin";
            String str=s+"new";        
            System.out.println(str);
            System.out.println(s);
            StringBuffer sBuffer=new StringBuffer(s);
            System.out.println(sBuffer.toString());
            System.out.println(sBuffer.append("on"));
            System.out.println(sBuffer);
            StringBuilder sBuilder=new StringBuilder(s);
            System.out.println(sBuilder);

    //输出结果:

    adminnew
    admin
    admin
    adminon
    adminon
    admin

  • 相关阅读:
    Vue3组合式API
    FFmpeg直播能力更新计划与新版本发布
    有意思的鼠标指针交互探究
    JMeter入门教程(9) --参数化
    搭建web网站
    UML是什么?UML概念模型?用例图,类图,活动图,状态图
    Python数据分析和挖掘之入门理论+实操
    数据结构的无头单向链表
    Kerberos (五) --------- Hive 用户认证配置
    typora免费安装版教程,支持Windows、Mac、Linux
  • 原文地址:https://blog.csdn.net/jeremy9627/article/details/125503108