Object 类,String类

1.全限定类名:格式 完整的包名.类名,如com.qf.javase.day13.Father。

仅在当前行使用com.qf.javase.day13.Father 这个类  :
com.qf.javase.day13.Father f = new com.qf.javase.day13.Father();

2.Object 类中的方法

每一个类创建的对象都可以使用Object类当中的所有的方法

a.hashCode :根据创建的对象在堆内存的地址计算得出的一个数字(默认的实现方式)
                       同一个对象的hashCode一定相同,不同对象的hashCode也可能相同

b.equals:  比较两个引用类型数据 (对象)的堆内存的地址是否一致(默认的实现方式)
                   只有equals和hashcode得出了相同的结果,这两个对象名才表示同一个对象
                   因为只有hashCode和equals合作判断才能得出正确的结果, 所以这两个方法的判断                       标准必须统一,
                    hashCode的计算标准是内存地址,则equals的判断标准也是内存地址
                    hashCode的计算标准是属性的值,则equals的判断标准必须也是属性的值

PS:    == 和equals的区别
1. 性质:     == 是一个运算符, equals是一个方法
2. 能比较的数据类型:  == 既可以比较基本数据类型, 也可以比较引用数据类型
                                       equals只能比较引用数据类型,不能比较基本数据类型的
3. 比较的方式:  == 比较的是变量保存的数据,基本数据类型比较的是值,引用数据类型比较的                               是堆内存地址
                           equals方法重写之前和==没有差别,重写之后,既比较堆内存地址,也比较对象                             中每一个属性的值
4. 使用的前提: == 没有任何的使用前提,但是equals必须建立在和hashCode同一个标准的情况                            下, 要不都重写,要不都不重写

c.toString: 直接打印出创建这个对象的类的全限定类名@十六进制数的字符串( 默认的实现方                        式) 
                     重写之后的toString可以自定义具体的属性的值的打印

d.getClass :  获取创建这个类的类对象 Class对象

3.String类

(1)String类创建对象既可以使用new的方式,也可以采用直接赋值的方式

     String的创建对象方法:无参构造,有参构造(参数类型:byte数组、char数组、字符串数据)

   具体的字符的直接拼接 , 相当于 直接声明拼接之后的结果
   如果是变量之间的拼接或者是变量和具体字符之间的拼接,   相当于 new String(拼接的结果)
   两种方式就算字符完全一致,但是==的结果仍旧是false

(2)String类型对象可调用的判断方法

a.equals:   每一个字符是否都一样, 区分大小写

b.equalsIgnoreCase:   忽略大小写,字符相同即可

c.contains:   包含指定的字符

d.startsWith :  是否以指定的字符开头

e.endsWith : 是否以指定的字符结尾

f.isEmpty():无参,判断是否是空的字符串

(3)String类型对象可调用的获取方法

a.length():  无参,获取组成这个字符串的字符的个数

b.charAt(参数:下标):获取指定位置的字符  没有则返回-1

c.indexOf(参数:指定字符): 获取指定字符在字符串中的下标,获取的数据类型为int型

d.indexOf(参数1:指定字符, 参数2:开始查找的下标):从指定的位置开始往后寻找指定字符的下                    标位置

e.lastIndexOf(参数:指定字符):从尾部开始寻找

f.substring(参数:开始的下标):获取从当前字符串中开始往后获取, 直到结尾的字符

g.substring(参数1:开始的下标, 参数2:结束的下标):从开始的下标到结束的下标中的字符串 ,                      获取出来,不包含结束的下标对应的字符

(4)String类型对象可调用的转化方法

a.getBytes():无参,将字符串转化为字节数组,转化后为数组类型。如byte[] bytes =                                          s.getBytes();

b.toCharArray():无参, 将字符串转化为字符数组,转化后为字符数组类型。如char[] chars =                                 s.toCharArray();

c.toLowerCase():无参,转换字符串中字符为小写

d.toUpperCase():无参,转换字符串中字符为大写

e. s1.concat(s2):   拼接两个字符串 

f.String.valueOf(参数:字符数组):将字符数组转成String类型的数据

(5)String类型对象可调用的其他(替换、分割、比较)方法

a.replace(参1:“待替换s1”,参2:“替换s2”):将指定的字符串或者字符s1替换为s2

b.replaceAll(参1:正则表达式,参2:“替换s2”):  使用正则表达式替换指定类型的字符,符合表达                       式的字符均替换为s2
                 正则表达式 :  指定的匹配字符串中字符的规则
                 所有的小写字母 [a-z]
                 所有的英文字符 [a-zA-Z]
                 所有的数字 [0-9]
                 所有的中文 [\u4e00-\u9fa5]

c.split(参:"分割标志字符"):如String s4 = "a123a12a14a13a24"; String[] as = s4.split("a"); 以a                为分割符号,分割这个字符串

4.StringBuffer类

a.StringBuffer是一个线程安全的可变字符串。String是一个不可变的字符序列(对象只能赋值一次),StringBuffer是一个可变的字符序列

b.StringBuffer创造对象方法:无参构造、有参构造(参数类型:int类型、String类型)

无参构造:StringBuffer sb = new StringBuffer();     无参构造方法中创建的底层数组的长度是 16

int类型有参构造:StringBuffer sb = new StringBuffer(10);  底层创建了一个长度是指定长度10的                                 char类型数组

String类型有参构造:StringBuffer sb = new StringBuffer(“nihao”); 底层创建了长度是 参数字符串                                    的长度 + 16的字符数组

c.StringBuffer的扩容

一旦底层的字符数组不够使用, 进行扩容操作,扩容的基本原理: 当前容量 * 2 + 2
如果扩容之后还不够,则直接使用当前需要的最小的容量作为新的容量

d.StringBuffer的常用方法

(1)append(参:任意类型字符数据):在尾部添加数据,能将其他的数据类型转成StringBuffer这                         个类型

(2)insert(参1:下标位置,参2:“字符数据”):在下标位置前插入指定字符数据

(3)deleteCharAt(参:指定位置下标):删除指定位置的字符

(4)delete(参1:开始下标,参2:结束下标):删除指定的部分字符,第一个参数是开始的位                              置,第二个参数是结束的位置(不包含)

(5)replace(参1:开始下标,参2:结束下标,参3:替换字符):替换指定的部分,第二个参数                          是结束的位置(不包含)

(6)reverse:反转整个可变字符串

(7)substring(参数:开始的下标):获取从当前字符串中开始, 直到结尾的字符,这个方法不再                           返回StringBuffer对象,而是返回String对象

(8)substring(参数1:开始的下标, 参数2:结束的下标):从开始的下标到结束的下标中的字符串 ,                      获取出来,不包含结束的下标对应的字符

5.StringBuffer和String类型数据如何相互转化

a.String---->StringBuffer方法

(1)通过StringBuffer的有参构造方法
        String s = "字符串";
        StringBuffer bs = new StringBuffer(s);

(2)通过添加的方法
        bs.append(s);

(3)插入法讲数据放在尾部

        bs.insert(bs.length(),s);

b.StringBuffer---->String转化

(1)toString

        String s = sb.toString();

(2)通过构造方法
        String string = new String(sb);

(3)通过截取的方法
        String s =sb.substring(0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值