CBG 2108班day11学习内容总结

Day11

学习API阶段的前提

   1.API是一些别人制定好或者写好的应用程序接口或功能
   2.学习的重点:学习这些功能==怎么使用? 使用后有什么效果? 如何更好的使用?==
   3.比如:怎么创建某个类的对象--看构造方法
              怎么使用某个功能--需不需要传参数?传什么类型的参数?
   4.比如:这个方法有什么样的结果? 结果看返回值类型,
              这个方法有什么样的执行效果? 效果要在IDEA中尝试
   5.我们可以把API手册当成一本词典,哪里不会查哪里

1 顶级父类java.lang.Object

   1.Object是Java中所有类的超类,Java中的类都直接或者间接继承Object
   2.如果一个类没有明确的指定父类,那么这个类默认继承Object
   3.java.lang包是Java的核心包,无需导包,会自动导入

1.1 hashCode()

作用:返回值对应的哈希码值,Object中默认实现根据对象的地址值生成哈希码值,对象不同,哈希码值也不同

1.2 toString()

重写前:打印对象的地址值
注意:我们要牢记Object中的默认实现方式,只要默认实现不同,就说明当前类重写了Object中的实现方法
至于重写后是什么样的效果,要看具体的重写方式
比如:
自定义类Student重写后:打印Student类型+属性+属性值[这个是我们自己重写的类]
String类重写后:打印的是字符串的具体内容[Java自带的类]

1.3 equals()

重写前;等等比较,比较的是两个对象的地址值
注意:我们要牢记Object中的默认实现方式,只要默认实现不同,就说明当前类重写了Object中的实现方法
至于重写后是什么样的效果,要看具体的重写方式
自定义类Student重写后:比较两个对象的类型+属性+属性值
String类重写后:比较的是两个字符串的具体内容

注意1:toString()不是我哦们主动调用的,二三println()层层调用
如果你打印某个类的对象时,不想打印地址值,可以在这个类里添加重写的toString()
注意2:equals()与hashCode()的重写一致,要重写则两个都重写,要不重写则两个都不重写
查找类的4种方式:
1.查看API手册
2.连点两下Shift打开IDEA的搜索,注意勾选"include non-Project items",在搜索Object
3.按住Ctrl点hashCode()
4.在拓展库External Libraries找到jdk1.8->rt.jar->java.lang.Object

2 String类

1.底层结构是字符数组char[]
2.String的常用方法
String API总结
int hasdCode()返回此字符串的哈希码
boolean equlas (Object anObject)将此字符串与指定的对象比较,比较的是重写后的串的具体内容
String toString()返回此对象本身(它已经是一个字符串).

int length() 返回此字符串的长度
String toUpperCase() 所有字符都转换为大写
String toLowerCase() 所有字符都转换为小写
boolean startsWith(String prefix) 测试此字符串是否以指定的元素开头
boolean endsWith(String prefix) 测试此字符串是否以指定的元素结束

char charAT(int index)返回指定索引下标处的字符串
byte[] getBytes() 把字符串存储到一个新的byte数组中
String substring(int beginIndex) 返回一个新子串,从指定下标开始,包含指定下标
String substring(int beginIndex,int endIndex) 返回一个新子串,从指定下标开始,到结束下标为止,但不包含结束下标
static String valueOf(int i) 把int转成String

2.1 String的创建方式

方式一:

char[] values = {‘a’,‘b’,‘c’};
String s1 = new String(values);
注意:每new一次,创建一个String对象,存在堆中

方式二:

String s = ‘abc’;
注意:存在堆中的常量池中,有高效的效果,如果是二次创建,不会新建
注意:==比较如果是引用类型,那么比较的是地址值
注意:String重写了Object中toString()方法,所以可以直接打印字符串的具体内容
String还重写了Object 中的equals(),所以比较的也是两个字符串的内容

2.2 StringBuffer 与 StringBuilder(理论上比前者更快)

1.使用前提:String提供了丰富的操作字符串的方法,所以操作字符串时还使用String
2.String拼接字符串时使用+进行拼接,效率比较低,所以需要使用工具类
3.创建方式:
StringBuffer sb = new StringBuffer();
StringBuilder sb2 = new StringBuilder();
4.常用方法:append()拼接效率高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值