String,StringBuffer,StringBuilder笔记

  • Post author:
  • Post category:其他




String


package com.chen.实用类;

import java.util.Scanner;

/**
 * Created by chen on 2018/3/16.
 */
public class LearnString {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入姓名:");
//        String name = scanner.next();
        String name = "toom";
        System.out.println("姓名为:" + name);
        System.out.println("忽略大小写比较:" + name.equalsIgnoreCase("TOM"));
        System.out.println("转换英文成小写比较:" + name.equals("TOM".toLowerCase()));
        System.out.println("转换英文成大写比较:" + name.equals("TOM".toUpperCase()));
        System.out.println("字符串连接符:" + "欢迎登录".concat(name));
        System.out.println("返回第一个出现的该字符的下标(如果没有就返回-1):" + name.indexOf("o"));
        System.out.println("返回最后一个出现的该字符的下标(如果没有就返回-1):" + name.lastIndexOf("o"));
        System.out.println("从指定索引开始的字符串(包含索引位置):" + name.substring(1));
        System.out.println("从指定位置开始到结束的字符串(包含开始位置不包含结束位置,开始位置和结束位置小于字符最大索引," +
                "但是不能为负数,而且开始位置只能小于或者等于结束位置,两个位置相同时,截取为空):" + name.substring(1, 2));
        System.out.println("去掉字符串前后空格(不会去掉中间的空格):" + "    123456  456  ".trim());
        System.out.println("字符串拆分:");
        String[] strings = new String[100];
        strings = ",1,2,3,4,8,".split(",");
        for (int i = 0; i < strings.length; i++) {
            System.out.println(strings[i]);
        }
    }
}

StringBuffer


package com.chen.实用类;

/**
 * Created by chen on 2018/3/16.
 */
public class LearnStringBuffer {
    public static void main(String[] args) {
        StringBuffer stringBuffer = new StringBuffer("123456");
        System.out.println("转换为字符串:"+stringBuffer.toString());
        System.out.println("追加任何类型的值:"+stringBuffer.append("789"));
        System.out.println("在指定位置插入值:"+stringBuffer.insert(1,"c"));
    }
}

String,StringBuffer,StringBuilder对比

    1、string是不可变的对象,每次操作string类型都等同于生成一个新的string对象,所以经常改变内容
字符串最好不要用string类型,因为每次产生新对象对系统性能有影响。
    2、StringBuffer是可变字符串,每次操作字符串都是对他本身进行操作,所以经常改变内容字符串推荐
使用StringBuffer。字符串连接操作中,StringBuffer比string效率高。
    3、jdk5之后提供StringBuilder类,StringBuilder和StringBuffer是等价的。区别在于StringBuffer类是
线程安全的,StringBuilder类是单线程的,不提供同步,理论上效率更高。



版权声明:本文为chen_NeverRetreat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。