CGBTN2110-DAY11总结复习

DAY 11 复习

学习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()

hashCode() : 返回对象对应的哈希码值
默认实现方式:根据对象的地址值生成对应的哈希码值

1.2 toString()

toString():返回对象对应的字符串
默认实现方式:返回对象的包名.类名@十六进制的哈希码值

1.3 equals()

equals():比较当前对象与参数对象是否相等
默认实现方式:==比较两个对象的地址值,地址值不同就返回false

注意:需要牢记Object中的默认实现方式,后续遇到的类,只要与Object中默认的实现方式不同,说明发生了重写,具体重写的效果每个类都是不同的,遇到哪个,积累哪个

1.4 自定义类Student

添加了重写的方法后,重写的效果

  1. hashCode(): 根据传入的当前对象的属性值生成
  2. toString(): 打印当前对象的类型+属性+属性值
  3. equals() : 比较两个对象的类型+属性+属性值

1.5 拓展

查找类的4种方式:

  1. 查API手册 点这里: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 hashCode() 返回此字符串的哈希码。
boolean equals(Object anObject) 将此字符串与指定的对象比较,比较的是重写后的串的具体内容
String toString() 返回此对象本身(它已经是一个字符串!)。

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

char charAt(int index) 返回指定索引/下标处的 char 值/字符
int indexOf(String str) 返回指定字符在此字符串中第一次出现处的索引。
int lastIndexOf(String str) 返回指定字符在此字符串中最后一次出现处的索引。
String concat(String str) 将指定字符串连接/拼接到此字符串的结尾,注意:不会改变原串
String[] split(String regex) 根据给定元素来分隔此字符串。

String trim() 返回去除首尾空格的字符串
byte[] getBytes() 把字符串存储到一个新的 byte 数组中
String substring(int beginIndex) 返回一个新子串,从指定下标处开始,包含指定下标
String substring(int beginIndex, int endIndex) 返回一个新子串,从执定下标开始,到结束下标为止,但不包含结束下标
static String valueOf(int i) 把int转成String

3 String的创建方式

方式一:

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

方式二:

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

4. 正则表达式

作用: 拿着我们指定好的规则,去判断数据是否符合这个规则

  1. 指定规则:String regex = “[0-9]{17}[0-9X]”;
  2. 拿着数据与规则做比较:input.matches(regex)–>如果匹配,matches方法返回true
    注意:单个斜杠表示转义字符,所以在正则中如果想要表示单个斜杠,需要写双斜杠
    至于正则表达式的对照关系,详见笔记中正则速查表
    在这里插入图片描述
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>