• 黑马程序员——JAVA学习笔记七(String类)


    1,    String类一旦被初始化就不会被改变。
    字符串不不能被改变,编译可以让字符串之间共享。编译器将各种字符串存放在公共的存储池子中。字符串变量指向存储池中相应的位置。实际上只有字符串常量。而+(除了常量相加)和其它方法操作的不是共享的。
    String s1 ="abc" ,String s2 = "abc" (他们存在公共池中),String s3 = new String ("abc"),存在堆中; 则s1== s2; s1! = s3;
     
    2,    字符串常用功能:    
        1,获取:
        1.1 获取字符串中字符的个数(长度).
          int length();
        1.2 根据位置获取字符。
          char charAt(int index);
        1.3 根据字符获取在字符串中的第一次出现的位置.
          int indexOf(int ch)
          int indexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
          int indexOf(String str);
          int indexOf(String str,int fromIndex);
           根据字符串获取在字符串中的第一次出现的位置.
          int lastIndexOf(int ch)
          int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
          int lastIndexOf(String str);
          int lastIndexOf(String str,int fromIndex);
        1.4 获取字符串中一部分字符串。也叫子串.
          String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
          String substring(int beginIndex);
         
        2,转换。
          2.1 将字符串变成字符串数组(字符串的切割)
           String[]  split(String regex):涉及到正则表达式.
          2.2 将字符串变成字符数组。
           char[] toCharArray();
          2.3 将字符串变成字节数组。
           byte[] getBytes();
          2.4 将字符串中的字母转成大小写。
           String toUpperCase():大写
           String toLowerCase():小写
         2.5  将字符串中的内容进行替换
          String replace(char oldch,char newch);
           String replace(String s1,String s2);
          2.6 将字符串两端的空格去除。
           String trim();
          2.7 将字符串进行连接 。
           String concat(string);
       
        3,判断
          3.1 两个字符串内容是否相同啊?
           boolean equals(Object obj);
           boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
          3.2 字符串中是否包含指定字符串?
           boolean contains(string str);
          3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
           boolean startsWith(string);
           boolean endsWith(string);
         
        4,比较。
            int compare (String s)  返回-1 0 1
     
    5,    有时候需要较短的字符串构建字符串,采用字符串连接效率太低,每次连接字符串都会构建新的String对象。既耗时又浪费空间。
    采用StringBulider类就可以避免类似问题的发生。StringBuffer是线程安全类,效率会降低。
    主要方法:
        1,添加:
          StringBuffer append(data);
          StringBuffer insert(index,data);
        2,删除:
          StringBuffer delete(start,end):包含头,不包含尾。
          StringBuffer deleteCharAt(int index):删除指定位置的元素
        3,查找:
          char charAt(index);
          int indexOf(string);
          int lastIndexOf(string);
        4,修改:
          StringBuffer replace(start,end,string);
          void setCharAt(index,char);
       
        增删改查  C(create)U(update)R(read)D(delete)
    reverse()反向遍历  triToSize()改变大小。
     
    6,    包装类和String之间转化
        自动装箱:自动拆箱
        注意:自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间。
        基本类型--->字符串
          1,基本类型数值+""
          2,用String类中的静态方法valueOf(基本类型数值);
          3,用Integer的静态方法valueO(基本类型数值);
       
        字符串--->基本类型
          1,使用包装类中的静态方法   xxx parseXxx("xxx类型的字符串");
           int parseInt("intstring");
           long parseLong("longstring");
           boolean parseBoolean("booleanstring");
           只有Character没有parse方法
          2,如果字符串被Integer进行对象的封装。
           可使用另一个非静态的方法,intValue();
           将一个Integer对象转成基本数据类型值。
     
       十进制-->其他进制。
          toBinaryString
          toOctalString
          toHexString
       
        其他进制-->十进制。
          parseInt("string",radix)
        
     
  • 相关阅读:
    算法与设计模式
    Python开源应用系统
    ASP.NET MVC配置Redis服务
    常用3个框架
    Visual Studio 2015 编译错误 File 的值+乱码的解决方法
    SQL Server2008 R2命令行启动及停止SQL服务的方法
    Linux Shell查看物理CPU个数、核数、逻辑CPU个数
    SQL SERVER 2008R2 执行大脚本文件时,管理工具提示“内存不足”的解决方法
    MVC中未能加载程序集System.Web.Http/System.Web.Http.WebHost
    Windows10中启用原来的Windows照片查看器方法
  • 原文地址:https://www.cnblogs.com/solaire/p/4181352.html
Copyright © 2020-2023  润新知