String类的详细讲解

CSDN话题挑战赛第2期
参赛话题:学习笔记

前言:

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。希望我的笔记能给和我一样的初学者带来那么些用处

一.String字符串的基本知识

1.关于String类的理解概述

主要有以下几点:
1.“字符”, 看见双引号即是Sting对象!!

2.字符对象存储在方法区中的字符常量池中,一个字符常量,一旦生成就永远是那样,无法改变
3.字符对象无法被垃圾回收器回收
4.new String(“字符”) 和 直接双引号:“字符” 两种创建字符串对象稍有那么一点区别;
5.'+'字符的连接,产生新的字符常量
6.比较字符串是否相等,最好用父类Object类中equals()方法,String类已经重写equals()方法
重写后的equal()方法不再比较引用的存储的地址,而是直接比较内容是否一致,一致则返回true,否则false
7.String类已经重写toString()方法,调用toString()输出时候不再是一串地址,则是具体的值
(注:输出一个引用,会自动调用toString())

2.对于概述内容的测试(注释非常详细!!)

public class Test_String {
    public static void main(String[] args) {

        String a="abc";//创建了一个字符串对象,放在方法区中的字符池中
        String b="abc";//并没有创建新的对象,而是引用d存储了"abc"的地址,直接指向该对象

        System.out.println(a.equals(b));// true
        String c=new String("abc");
        System.out.println("-----------------------------");

        System.out.println(b==c); //false, 用==则是比较的是"abc"的地址和在堆中new 出对象的地址,显然不一样
        System.out.println(b.equals(c)); // true(  所以字符对比还是用equals()
        System.out.println("-----------------------------");

        String K=new String("kfc");
        System.out.println("kfc".equals(K));//"kfc"是一个字符类型对象,则有equals()方法,建议字符串在前,引用在后进行比较,
        // 这样可以避免空指针异常

        System.out.println("-----------------------------");

        //面试题:
        String e="cf"+"dnf";//此句,构造了三个字符对象,1."cf" 2."dnf"  3."cfdnf",而引用e指向的是"cfdnf"该字符对象
        System.out.println(e);//cfdnf  ,输出引用自动调用toString()方法,
    }
}

对应关系图如下:
在这里插入图片描述

二、String类常用的方法():

(注:String字符串底层是数组,下标从0开始)
1.String charAt(int n) :返回对应下标的值
在这里插入图片描述

2.boolean contains(“字符1”) :判断当前字符串中是否包含有(“字符1”)
在这里插入图片描述

3.boolean endsWith(“字符2”):判断当前字符串是否以(“字符2”)
在这里插入图片描述

4:boolean starWith(“字符3”):判断当前字符是否以(“字符3”)
在这里插入图片描述

5:boolean equalsignore():忽略大小写判断两字符串是否相等
在这里插入图片描述

6:byte[] getBytes():将字符串转化为字节数组
在这里插入图片描述
在这里插入图片描述

7.String[ ] split(“字符4”) :将当前字符串以(“字符4”)拆分为String元素,返回值为一个String [] 数组
在这里插入图片描述
在这里插入图片描述

**// 8.String subString(int n) ,和 subString(int a,intb): 前者从当前字符串下标为 n处往后截取(含下标元素),后者截取范围内的字符串(含前下标元素,后下标不包含)
**
在这里插入图片描述

9. int indexOf(“字符6”) 判断:(“字符6”)第一次在当前字符的位置,返回值为下标(常用subString()结合使用)
在这里插入图片描述

10.int lastIndexOf(“字符7”) ;判断:(“字符7”)最后一次在当前字符串出现的位置,返回值为下标
在这里插入图片描述

11.char [ ] toCharArray(): 将当前字符串转化为字符数组
在这里插入图片描述
在这里插入图片描述

12 .String replace (参1:“old”,参2:“new”) : 替换字符,返回值为字符串
在这里插入图片描述

13.int length() : 返回值为字符串的长度 int n,还可以判断该字符是否为 空
在这里插入图片描述

14.String trim() :去除字符串前后空格,中间空格不去除
在这里插入图片描述

// 15/16 : toLowerCase() / :将当前字符串全部转化为(小/大)写,
在这里插入图片描述

17.String类中唯一一个静态方法: String.valuOf(): 将不是字符串的转为字符串

在这里插入图片描述

自我总结:

代码要多敲,方法要常用才能铭记于心,提高工作效率
引用:b站计算机老宋的一句话:人生没有白走的路,每一步都算数!
制作不易,希望各位看官一键三连,为我增添动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值