String类StringBuffer类

什么是String

        String是一个类,不是关键字。String字符串的形式为双引号引起来的("abc"),是一个字符串常量,不可改变的。

创建方式

//1
String name = "abc";

//2
String name = new String("abc");

//3
char[] arrays = {'a','b','c'};
String name = new String(arrays);

//4,在byte类型中存储的是ascall值
byte[] arrays = {97,98,99};
String name = new String(arrays);

字符串常量池

在内存空间中有一片空间存放字符串常量,每当String name = "abc"时,将abc放入常量池中,下次String name2 = "abc"时,自动找到常量池中的abc,所以==判断为true;

类与包装类的转换

//除了Character之外的所有包装类都提供了一个parseXxx(String s)静态方法,不能转则报错
        String name = "123";
        int i = Integer.parseInt(name);
        System.out.println(i);
//String类里也提供了多个重载ValueOf()方法,用于将基本数据类型转换成字符串
        boolean bol = true;
        String s = String.valueOf(bol);
        System.out.println(s);

字符串的常用处理方法

char charAt(int index)//取指定字符

//取字符串中指定位置的字符,其中,参数index指字符串中序数。序数从0开始到length-1
        String name = "abcd";
        System.out.println(name.charAt(2)); //c

int compareTo()

String concat(String str)//拼接两个String

 //拼接两个字符串
        String name1 = "abc";
        String name2 = "df";
        System.out.println(name1.concat(name2)); //abcdf

static String copyValueOf(char[] data)//字符数组变成字符串

        char[] arrays = {'a','b','c'};
        System.out.println(String.copyValueOf(arrays));//abc
        String s = new String(arrays);
        System.out.println(s);//abc

boolean endsWith(String suffix)//比较结尾

//判断是否结尾
        String s6 = new String("abcdefghij");
        String s7 = "hij";
        System.out.println(s6.endsWith(s7)); //true

boolean equals(Object anObject)

byte[] getBytes()//String转换byte数组

//转换为byte数组        
        String s10 = "abcde";
        byte[] b = s10.getBytes();
        for(int i=0; i<b.length;i++){
            System.out.print(b[i]+" ");//97 98 99 100 101 
        }

int indexOf()//查询下标位置

//找出某个字符或者字符串在该字符串中第一次出现的位置。0开始
        String s11 = new String("write once, run anywhere!");
        String s12 = new String("run"); 
        System.out.println(s11.indexOf("r")); //2
        System.out.println(s11.indexOf("r", 2)); //从下标2开始寻找  12
        System.out.println(s11.indexOf(s12)); // 寻找run并返回r的下标    12

int lastIndexOf()//查询最后一次下标

//找出字符或者字符串在该字符串中最后一次出现的位置。
        String s11 = new String("write once, run anywhere!");

        System.out.println(s11.lastIndexOf("r")); //22

int length()//String长度从1开始

String substring()//取剩下所有字串

 //取从某个位置开始到结束的字符串。 0开始
        String s11 = new String("write once, run anywhere!");
        System.out.println(s11.substring(12));  //12为r  结果为run anywhere!

toLowerCase()方法与toUpperCase()方法//大小写转换

 //大小写转换
        String s11 = new String("write once, run anywhere!");
        System.out.println(s11.toLowerCase()); //write once, run anywhere!
        System.out.println(s11.toUpperCase()); //WRITE ONCE, RUN ANYWHERE!

trim()//去掉首位空格

//去掉首位空格
        String s01 = " admin ";
        System.out.println(s01.trim());//admin

replace()//替换

        String s02 = "我是程序员,我在学java";
        String result = s02.replace("我","你");
        System.out.println(result);//你是程序员,你在学java

split()//截取

 //截取
        String s03= "我看,今天,天气好";
        String[] a = s03.split(",");
        System.out.println(a[1]);//今天

StringBuffer 

带缓存的String类,线程安全的可变字符序列,多用于平凡的拼接,因为String对象为字符串常量(不可改变),除非销毁否则一直存在,占用内存过大

append(String a)为添加字符串可用于拼接

toString()方法为返回一个新的String对象

        //插入操作
		sb.insert(0, "hello ");//在索引是0的位置插入hello,此时 sb = "hello java"
		System.out.println("插入后:"+sb);
		//删除操作
		sb.delete(5, 6);  //此时sb="hellojava"
		System.out.println("删除后:"+sb);
		//反转
		sb.reverse(); //sb="avajolleh"
		System.out.println("反转后:"+sb);
		//length()表示字符串长度
		System.out.println(sb.length());//输出9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值