美文网首页
java se 字符串

java se 字符串

作者: 起名字真难难难 | 来源:发表于2020-02-03 15:58 被阅读0次

    一、字符串特点

    1、是常量,内容永不可变,创建之后不可更改
    2、可共享使用,节省内存
    3、效果上相当于char[]字符数组,底层原理是字节数组byte[]

    二、创建字符串的3+1种方式

    三种构造方法

    1、创建空白字符串,不含任何内容

    public String();
    
    String str1=new String();
    str1="于松江";
    System.out.println("第一个字符串是"+str1);
    

    2、根据字符数组,创建对应字符串

    public String (char[] array);
    
    char[] charArray={'1','2','3'};
    String str2=new String(charArray);
    System.out.println("第二个字符串是"+str2);
    

    3、根据字节数组创建相应字符串

    public String (byte[] array);
    
    byte[] byteArray={97,98,99};
    String str3=new String(byteArray);
    System.out.println("第三个字符串是"+str3);
    
    一种直接创建(不用new)

    直接写上双引号就是字符串

    String str4="程泽琪";
    System.out.println("第四个字符串是"+str4);
    

    三、字符串的常量池

    程序当中直接写上双引号的字符串,就在字符串常量池中,new出来的不在。
    基本类型 ==:数值的比较
    引用类型 ==:地址值的比较

    四、字符串的常用方法

    内容比较方法:
    1、

    public boolean equals(Oblect obj);
    
    String str1 = "abc";
            String str2 = "abc";
            //创建一个字符串型的数组 把字符串传入新数组中
            char[] charArray = {'a', 'b', 'c'};
            String str4=new String(charArray);
            System.out.println(str1.equals(str2));
            System.out.println(str4.equals(str1));
            System.out.println(str2.equals(str4));
            System.out.println(str1.equals(str4));
    

    结果都是true

    (1)参数可以是任何对象,都可以用obj接收,内容相同返回true。
    (2)equals具有对称性,a.equals(b)与b.equals(a)具有一样的效果
    (3)推荐"abc".equals(str)<不推荐str.equals("abc")
    若双引号里是空白,表示null,没有地址会发生空指针异常
    2、

    public boolean equalsIgnoreCase();
    

    忽略大小写

     str1.equalsIgnoreCase(str3);
    

    五、字符串的获取方法

    1、获取字符出串字符的个数,拿到字符串长度

    public int lenght();
    
    String str1="hsuxalksacjdhbjshfvb";
    int lenght=str1.length();
    System.out.println("字符串的长度是"+lenght);
    

    2、将当前字符串和参数字符串进行拼接,返回出新的字符串

    public String concat(String str);
    
    String str2="ab";
    String str3="cd";
    String str4=str2.concat(str3);
    

    3、获取指定索引位置的单个字符

    public char charAt(int index);
    
    char ch=str1.charAt(5);
    

    4、查找小字符串首次出现的位置,若没有返回-1

    public int indexOf(String str);
    
    int index=str1.indexOf("a");
    

    六、字符串的截取方法

    1、从参数位置到字符串开始

    public String subString(int index);
    
    String str1=str.substring(3);
    

    2、

    public String subString(int begin,int end);
    
    String str2=str.substring(2,5);
    

    七、与转换相关的方法

    1、字符串拆分成字符数组作为返回值

    public char[] toCharArray();
    

    注:遍历时用for循环!

    String str1="hello";
    char[] chars = str1.toCharArray();
    for (int i = 0; i < chars.length; i++) {
    System.out.println(chars[i]);
            }
    

    2、获得字符串底层字节数组

    public byte[] getBytes();
    
    String str2="abc";
    byte[] bytes = str2.getBytes();
    for (int i = 0; i < bytes.length; i++) {
          System.out.println(bytes[i]);
            }
    

    3、老字符串替换新字符串

    public String replace(charSequence oldString,charSequence newString);
    
    String str3="i love u";
    String str4 = str3.replace("u", "于松江");
    

    八、字符串的分割

    按字符串规则,将字符串分割成若干部分

    public String[] split(String regex)
    
    String str1="aaa,bbb,ccc";
    String[] str2 = str1.split(",");
    for (int i = 0; i < str2.length; i++) {
         System.out.println(str2[i]);
            }
    

    split是一个正则表达式
    注:英文据点"."进行切分,必须写成"//."

    String str3="aaa.bbb.ccc";
    String[] str4 = str3.split("\\.");
    for (int i = 0; i < str4.length; i++) {
                System.out.println(str4[i]);
            }
    

    相关文章

      网友评论

          本文标题:java se 字符串

          本文链接:https://www.haomeiwen.com/subject/lpuhxhtx.html