String

String类

  1. 字符串是常量,创建之后不可改变.
  2. 字符串字面值储存在字符串池中,可以被共享
import java.util.Arrays;

public class demo {
    public static void main(String[] args) {
        //1.length();返回字符串长度
        String content = "JAVA是最好的编程语言,JAVA真香";
        System.out.println(content.length());


        //2.charAt(int);返回对应下标的字符
        System.out.println(content.charAt(0));
        System.out.println(content.charAt(content.length() - 1));


        //3.contains(String);判断是否包含这个字符串
        System.out.println(content.contains("JAVA"));
        System.out.println(content.contains("php"));


        //4.toCharArray();将字符串转换为字符数组。
        char[] array = content.toCharArray();
        System.out.println(array[1]);
        System.out.println(Arrays.toString(content.toCharArray()));


        //5.indexOf(String);第一次在数组(字符串)出现的位置
        System.out.println(content.indexOf("JAVA"));
        System.out.println(content.indexOf("JAVA", 2));//第几个字符开始查找


        //6.lastIndexOf(String);最后一次在数组(字符串)出现的位置
        System.out.println(content.lastIndexOf("JAVA"));


        String content2 = " Hello World ";
        //7.trim();去掉去后空格符
        System.out.println(content2.trim());


        //8.toUpperCase();将字符都转换为大写 toLowerCase()将字符都转换为小写
        System.out.println(content2.toUpperCase());
        System.out.println(content2.toLowerCase());


        //9.endsWith(String str);判断是否以str这个字符串结尾.startsWith(String str);判断是否以str这个字符开始
        System.out.println(content2.endsWith(" He"));
        System.out.println(content2.startsWith(" He"));


        //10.replace(String str1,String str2);讲字符串str1替换为字符串str2
        System.out.println(content.replace("JAVA", "PHP"));


        //11.将某个字符串拆分 返回值数组
        String content3 = "java is the best programing language,java good";
        String[] arr = content3.split("[ ,]+");//以空格或者","拆分
        for (String string : arr) {
            System.out.println(string);
        }
        String str1 = "this is a test";
        String[] strings = str1.split(" ");//后面可以加上限制限制其变成几个字符串
        for (String s : strings) {
            System.out.println(s);
        }


        //补充equals(),compareTo();
        //s1.equals(s2)判断s1是否与s2相等
        String s1 = "hello";
        String s2 = "HELLo";
        System.out.println(s1.equals(s2));
        System.out.println(s1.equalsIgnoreCase(s2));//忽略大小写比较


        String s3 = "abc";//a:97
        String s4 = "xyz";//x:120
        String s5 = "abcxyz";
        System.out.println(s3.compareTo(s4));//这种情况比第一个不同字符编码值,前者减后者
        System.out.println(s3.compareTo(s5));//这种情况比长短,前者长度减后者长度



    }
}
/*
1.length();返回字符串长度
2.charAt(int index);返回某个位置的字符
3.contains(String str);判断是否包含某个子符串
4.toCharArray();将字符串转成字符数组.
5.indexOf(String str);查找首次出现str的下标,存在返回下标,不存在,返回-1
6.lastIndexOf(String str);查找最后一次出现str的下标
7.trim();去掉字符串前后的空格
8.toUpperCase();将小写转换成大写  toLowerCase()
9.endsWith(String str);判断str是否以str结尾  StartsWith()
10.replace(char oldChar,char newChar);将旧字符串替换成新字符串
11.split(String str);将某个字符串拆分 返回值数组
 */
  1. StringBuffer和StringBuilder

    两者都可变长字符串,StringBuffer:运行效率较慢、但是线程安全;

    ​ StringBuilder:运行效率较快、但是线程不安全。

    两者基本用法一样。

    public class StrPlus {
        public static void main(String[] args) {
            StringBuffer sb = new StringBuffer();
            //1.append();追加
            sb.append("java世界第一");
            System.out.println(sb.getClass());
            System.out.println(sb.toString());
            System.out.println(sb);
            sb.append("java真香");
            System.out.println(sb);
            //2.insert();添加
            sb.insert(0,"我在最前面");
            System.out.println(sb);
            //3.replace();
            sb.replace(0,5,"hello");//含头不含尾,把这一块区域的值替换成新的
            System.out.println(sb);
            //4.delete
            sb.delete(0,5);
            System.out.println(sb);
        }
    }
    

    单线程使用StringBuilder

    多线程使用StringBuffer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值