【学习笔记】字符串

一、字符串:存储多个字符(字母、数字、汉字)
二、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值