美文网首页Java基础
Java 常用工具类--字符串

Java 常用工具类--字符串

作者: 磊_5d71 | 来源:发表于2018-09-12 20:05 被阅读0次

    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<arrs.length;i++) {
                System.out.print(arrs[i]+" ");
            }
            System.out.println();
            //将byte数组转回字符串,展示
            
            String str1 = new String(arrs,"GBK");
            System.out.println(str1);
    
        }
    
    }
    

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

    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));
            
        }
    
    }
    

    字符串不可变性

    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 常用工具类--字符串

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