String

java 中处处都是字符串,今天总结下字符串的相关内容。

定义:字符串经常被作为String类型的对象处理,String被包含在java.util包中。

String对象的不变性:String对象创建后是不能被修改,是不可变的,其实是指修改就是重新创建了对象,改变了对象引用地址,但是之前地址中的字符串还是存在的。

下面例子简单说明了String的定义以及常用的方法:

import java.util.Arrays;

public class TestString {

    public static void main(String[] args) {
        System.out.println("*********测试字符串的不变性********************");
        String s1 = "I love code";
        String s2 = "I love code";
        //注意(s1 == s2)一定要加括号提高运算优先级
        System.out.println("s1 == s2 " + (s1 == s2));//true
        String s3 = new String("I love code");
        String s4 = s3 + "!";
        System.out.println("s1 == s3 " + (s1 == s3));//false
        System.out.println("s3 == s4 " + (s3 == s4));//false
        System.out.println("***********学习字符串的常用方法******************");
        String s5 = "I love code , code is beautiful ";
        System.out.println(s1.length());//字符串的长度
        System.out.println(s1.indexOf('o'));//某个字符在字符串中第一次出现的地方
        System.out.println(s5.indexOf("code"));//某个子字符串在字符串中第一次出现的地方
        System.out.println(s1.lastIndexOf('o'));//某个字符在字符串中最后一次出现的地方
        System.out.println(s5.lastIndexOf("code"));//某个子字符串最后一次出现的地方
        System.out.println(s1.substring(2));//获取从下标2开始到结尾的字符串
        System.out.println(s1.substring(2, 6));//获取从下标2开始到下标为6但是不包括6的字符串
        System.out.println(s5.length());
        s5 = s5.trim(); //去除字符串的前后空格
        System.out.println(s5.length());
        System.out.println(s1.equals(s2));//比较两个字符串的内容是否相等
        System.out.println(s1.equals(s3));//比较两个字符串的内容是否相等
        System.out.println(s5.toLowerCase());//转换为小写
        System.out.println(s5.toUpperCase());//转换为大写
        System.out.println(s5.charAt(21));//获取第21个下标处的字符
        String[] s5Str = s5.split(" ",4);//按照空格截取字符,截至至数组长度为4个为止
        System.out.println(s5Str.length);
        for (int i = 0; i < s5Str.length; i++) {
            System.out.println(s5Str[i]);
        }
        String[] s5Strs = s5.split(" ");//按照空格截取字符
        System.out.println(Arrays.toString(s5Strs));//
        for(int i = s5Strs.length - 1; i >= 0; i--) {
            System.out.print(s5Strs[i] + " ");
        }
        System.out.println();
        byte[] bt = s5.getBytes();
        for(byte b : bt) {
            System.out.print(b + " ");
        }
    }
}

 StringBuilder的常用方法

public class TestStringBulider {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();//定义
        sb.append("I Love code");  //向sb变量中添加字符串
        System.out.println(sb);
        
        StringBuilder sb2 = new StringBuilder("I Love Code");//定义
        System.out.println(sb2);
        System.out.println(sb2.length());
        
        StringBuilder str = new StringBuilder();
        str.append("abcdefghijklmopq");
        //从后往前每隔三位插入逗号
        for(int i = str.length() - 3; i >= 0; i-=3) {
            str.insert(i, ",");//插入方法,在第i个下标的地方插入逗号。
        }
        System.out.println(str.toString());
    }
}

 

你可能感兴趣的:(java,java)