知识点总结之常用API-(1)

1:API定义
在这里插入图片描述
2:Object类
在这里插入图片描述
3;Object中的equals方法
在这里插入图片描述
equals的源码如下
在这里插入图片描述
为什么最后的结果是false,分析结果如下图。
在这里插入图片描述
但是针对上面的操作,是没有意义的
在这里插入图片描述
4:多态的一个弊端:不能调用子类的一个特有内容,需要有一个向下转型的操作。
在这里插入图片描述
5:针对比较两个对象是没有意义的,所以需要比较两个对象中的具体信息
在这里插入图片描述
6:针对上面的操作,任然存在一个问题,就是Object类型是最大的,可以传入任何一个类型
在这里插入图片描述
7:为了提高程序的健壮性,需要添加代码如下
在这里插入图片描述
8:继续提高程序的健壮性,考虑到比较的对象为null的时候。
在这里插入图片描述
9;:继续提高程序的健壮性,如果传入的对象是自己的话
在这里插入图片描述
10:toString方法:返回该对象的字符串表示
在这里插入图片描述
11:观察toString的默认打印内容
在这里插入图片描述
为什么打印的结果是这个呢,打印的是对象的内存地址。
在这里插入图片描述
下面的两条书写方式 是一样的,前提是在输出语句中。
在这里插入图片描述

12:重写toString方法
在这里插入图片描述
所以我们要进行重写,然后重写的要求如下
在这里插入图片描述
在这里插入图片描述

静态和对象是没有关系的。
13:之前的Random和Scanner类的对象的打印结果,是因为Scanner类的toStrin重写过。
在这里插入图片描述

14:String类的概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15:对象是在堆内存里边的,堆内存中有一小部分区域,叫做常量池,字符串常量有52个,当需要一个itcast的时候
在这里插入图片描述
最后输出的结果发生变化是因为str指向的引用发生了变化。不是修改了原来的内容,而是新造了一个字符串对象。

16:String的构造方法
在这里插入图片描述
上面的代码表示:两个对象的地址是不同的。

然后使用equals比较地址是true
在这里插入图片描述

17:不同的创建对象的方式是不同的,第一种方式创建了两个对象,下面截图是内存的分析图
在这里插入图片描述
18:String中的构造方法
第一个构造方法字节数组的类型
在这里插入图片描述
在这里插入图片描述
对应的效果图如下,奇数个的话就会出现问号?
在这里插入图片描述
第二个构造方法,和第一个类似,如下:
在这里插入图片描述
在这里插入图片描述

第三个构造方法:是字符数组的,和字节数组的区别是不查询编码表
在这里插入图片描述
然后针对上面的一个方法有类似的一个重写
在这里插入图片描述

19:String类中的其他方法
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
判断一个字符串是不是另一个字符串的前缀或者开头
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的方法,如果字符串写成汉字
在这里插入图片描述
则最后输出的是四个数字,并且是负数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

20:String中的方法的应用:统计小写,大写,数字的个数
在这里插入图片描述
上面的代码中,也可以把对应的ASIC码换成直接的字母,例如if(c>a&&a<z)也是可以的。
21;String中的方法的应用:
在这里插入图片描述

代码如下
在这里插入图片描述22:分析的思路如下
在这里插入图片描述
在这里插入图片描述

代码如下
在这里插入图片描述
在这里插入图片描述

23;StringBuffer类:底层源码使用的是可变数组,是为了提高字符串的操作效率而来的。提高内存使用率的问题

提高在这里插入图片描述

和String不同的是没有final
StringBuffer不论你怎么玩 ,内存中只有一个字符串,节省空间
在这里插入图片描述

初始的容量是16
在这里插入图片描述

常用的使用方法如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不包含尾部
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
24:StringBuilder类:是线程不安全的
在这里插入图片描述
在这里插入图片描述
25:一个练习
在这里插入图片描述

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章