Java 常用工具类--字符串

String类

String对象的创建方式
1、 String s1 = "alan"; 创建一个字符串对象alan,名为s1.或者说s1指向对象alan
2、String s2 = new String(); 创建一个空字符串对象,名为s2
3、String s3 = new String("alan"); 创建一个字符串对象alan,名为s3

  • 字符串与byte数组之间的转换。
package com.alan.string;

import java.io.UnsupportedEncodingException;

public class StringDemo3 {

    public static void main(String[] args) throws UnsupportedEncodingException {
        // 字符串与byte数组之间的相互转换
        
        String str = new String("JAVA 编程 基础");
        
        //将字符串转换为byte数组,并打印输出
        
        byte[] arrs = str.getBytes("GBK");
        for(int i = 0;i

等于“==”运算符与equals方法的区别

Java 常用工具类--字符串_第1张图片
image.png
package com.alan.string;

public class StringDemo4 {

    public static void main(String[] args) {
        // ==和equals的区别
        //定义三个字符串,内容都是alan
        String str1 = "alan";
        String str2 = "alan";
        String str3 = new String("alan");
        System.out.println("str1和str2的内容相同?"+str1.equals(str2));
        System.out.println("str1和str2的内容相同?"+str1.equals(str3));
        
        System.out.println("str1和str2的地址相同?"+ (str1==str2));
        System.out.println("str1和str2的地址相同?"+ (str1==str3));
        
    }

}

字符串不可变性

Java 常用工具类--字符串_第2张图片
image.png

StringBuilder

  • String具有不可变性,StringBuilder不具备
    建议:当频繁操作字符串的时候,使用StringBuilder

  • StringBuilder与StringBuffer
    1、 二者基本相似
    2、StringBuffer是线程安全的,StringBuilder则没有,所以性能略高。
    3、字符串处理一般都是单线程的,无需考虑线程安全性,所以使用StringBuilder.

package com.alan.string;

public class StringDemo5 {

    public static void main(String[] args) {
        
        //定于一个字符串“你好” 
        StringBuilder str = new StringBuilder("你好");
        str.append(",alan");
        
        System.out.println(str);
        
        //将字符串变成"你好,ALAN"
        //方式1
        System.out.println(str.delete(3, 7).insert(3, "ALAN"));
        //方式2
        System.out.println(str.replace(3, 7, "ALAN"));
        //最后存在堆中的内容
        System.out.println(str);
    }
}

你可能感兴趣的:(Java 常用工具类--字符串)