java学习笔记之String类

liashazi / 2023-08-29 / 原文

java String 类

位置

  • package java.lang;
  • 直接使用,无需导入

常用方法

length

  • 获取字符串长度
  • 示例:
    String s1 = "abc";
    System.out.println("字符串的长度为:"+s1.length());
    >>> 字符串的长度为:3
    

isEmpty

  • 字符串是否为空字符串
  • 示例:
    String s1 = "abc";
    System.out.println("字符串是否为空:"+s1.isEmpty());
    >>> 字符串是否为空:false
    

charAt

  • 获取字符串下标对应的字符
  • 示例:
    String s1 = "abc";
    System.out.println("字符串下标 1 对应的字符:"+s1.charAt(1));
    >>> 字符串下标 1 对应的字符:b
    

equals

  • 两个字符串值是否相等
  • 示例:
    String s1 = "abc";
    String s2 = "abc";
    String s3 = "abcd";
    System.out.println("s1与s2值相等: " + s1.equals(s2));
    System.out.println("s1与s3值相等: " + s1.equals(s3));
    >>> s1与s2值相等: true
    >>> s1与s3值相等: false
    

compareTo

  • 字符串比较大小
  • 返回值:负数->小于;0 -> 等于;正数 -> 大于
  • 示例:
    String s1 = "abcd";
    String s2 = "abc";
    String s3 = "abcdddd";
    System.out.println("s1 与 s2 比较: " + s1.compareTo(s2));
    System.out.println("s1 与 s3 比较: " + s1.compareTo(s3));
    >>> s1 与 s2 比较: 1
    >>> s1 与 s3 比较: -3
    

substring

  • 字符串截取
  • substring(beginIndex, endIndex)
  • [左闭右开)
  • 示例:
    String s1 = "1234567890";
    System.out.println(s1.substring(3));
    >>> 4567890
    System.out.println(s1.substring(3, 6));
    >>> 456
    

concat

  • 字符串合并、拼接
  • 示例:
    String s1 = "12345";
    String s2 = "abcde";
    System.out.println(s1.concat(s2));
    >>> 12345abcde
    

replace

  • 字符串替换
  • 示例:
    String s1 = "1234512345";
    String s2 = "abcdeabcde";
    System.out.println(s1.replace("234", "ab"));
    System.out.println(s2.replace("bcd", "哈哈哈"));
    >>> 1ab51ab5
    >>> a哈哈哈ea哈哈哈e
    

split

  • 将字符串按指定分隔符分割
  • 返回值 字符串数组
  • 示例:
    String s1 = "a b c d e fgh ij";
    String s2 = "1-2-3-4-5-678-90";
    System.out.println(Arrays.toString(s1.split(" ")));
    System.out.println(Arrays.toString(s2.split("-")));
    >>> [a, b, c, d, e, fgh, ij]
    >>> [1, 2, 3, 4, 5, 678, 90]
    

toUpperCase 、toLowerCase

  • 大小写转换
  • 示例:
    String s1 = "abcDEFG";
    System.out.println(s1.toUpperCase());
    System.out.println(s1.toLowerCase());
    >>> ABCDEFG
    >>> abcdefg
    

trim

  • 去除首尾空格:
  • 示例:
    s1 = " a b c ";
    System.out.println(s1.trim());
    System.out.println((s1.trim()).length());
    >>> a b c
    >>> 5
    

toString

  • 将对象转换为字符串表示形式
  • toString 方法是定义在 Object 类中的方法,因此在所有的 Java 类中都可以使用。它的作用是将 对象 转换为字符串表示形式。默认情况下,toString 方法返回的是对象的类名和哈希码的字符串表示。但是,大多数类都会重写 toString 方法,以便返回更有意义的字符串表示形式。
  • 示例:
    class Persion {
        String name;
        int age;
        public Persion(){};
        public Persion(String name, int age){
            this.name = name;
            this.age = age;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
    }
    
    Persion p = new Persion("张三", 20);
    System.out.println(p);
    >>> Person [name=张三, age=20]  
    

valueOf

  • 将其他类型的值转换为字符串
  • valueOf 方法是一个静态方法,定义在很多类中(如 String、Integer、Double 等)。它的作用是将其他类型的值转换为字符串。valueOf 方法通常用于将基本类型或其他对象类型转换为字符串。
  • 示例
    Float f1 = 3.14f;
    Integer n1 = 123;
    System.out.println(f1.getClass());
    System.out.println(String.valueOf(f1).getClass());
    >>> class java.lang.Float
    >>> class java.lang.String
    System.out.println(n1.getClass());
    System.out.println(String.valueOf(n1).getClass());
    >>> class java.lang.Integer
    >>> class java.lang.String