类与库
库
- 库就是jdk提供的,是自己封装的,第三方的库一般要收费
- 类库:就是把java文件编译成class,然后打成jar
引入第三方库的步骤
- 下载jar,导入到工具类
- 在项目里新建一个文件夹 lib jar 包放入到lib
- 添加项目依赖
- 使用
Object
类 Object是类层次结构的根类,每个类都使用Object作为超类。所有对象都实现这个类的办法。
- 简单说,Objec类是所有类的父类,包括我们自己写的,我们使用类的时候就会利用Objec类中的方法
常用的基本方法
- public in hashCode() 返回该对象的哈希码值
- 如果是同一个对象,两次调用hashCode()返回的哈希码值是一样的。
- 两个对象的哈希值一样并不一定是同一个对象
- Integer.toHexString(obj.hashCode()) 把哈希值转换为16进制
equals方法
-
Object 类中的 equals() 方法用来检测一个对象是否等价于另外一个对象,语法为:
public boolean equals(Object obj) -
在Java中,数据等价的基本含义是指两个数据的值相等。在通过 equals()和“==”进行比较的时候,引用类型数据比较的是引用,即内存地址,基本数据类型比较的是值。
-
equals()方法只能比较引用类型,“==”可以比较引用类型及基本类型。
-
当用 equals() 方法进行比较时,对类 File、String、Date 及包装类来说,是比较类型及内容而不考虑引用的是否是同一个实例。
-
用“==”进行比较时,符号两边的数据类型必须一致(可自动转换的数据类型除外),否则编译出错,而用 equals 方法比较的两个数据只要都是引用类型即可。
toString方法
- toString()方法是对象的字符串表现形式,语法为public String toString()
- 返回值是String类型,用于描述当前对象的有关信息。Object中实现的 toString() 方法是返回当前对象的类型和内存地址信息,但在一些子类(如 String、Date 等)中进行了 重写,也可以根据需要在用户自定义类型中重写 toString() 方法,以返回更适用的信息。
Scanner类
- 实例化一个对象 的步骤: 1. 导包 2.实例化 类名 对象名 =new 类名() 3.对象名.方法名() 对象名.属性
- next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)
- nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。
随堂抽取的方法
- public char charAt(int index) 根据索引来获取字符串相对应的值,索引是0 开始的
- public int length() 返回的是字符串的长度
- public int indexOf(int ch) 返回字符串第一次出现的索引值(找到返回的是索引值,找不到返回的是-1)
- public String substring(int beginIndex,int endIndex) 包头不包尾 beginIndex 开始的索引
- public String[] split(String regex) 根据什么进行拆分
- public byte[] getBytes() 将一个字符串转换成一个字节数组
- public String replace(char oldChar,char newChar) 返回一个新的字符, 第一个参数是需要替换的字符 第二参数是插入的字符
- public String toUpperCase(Locale locale) 把当前字符串转换成大写
- public String toUpperCase(Locale locale) 把字符串转换成小写
- public String trim() 去掉前后的空格
- public static String valueOf(int i) 把int类型转换成String 类型,这是一个静态的方法(基本数据类型之间相互转换
- public char[] toCharArray() 把字符串转换成一个char的数组
疑问
调用Object不同的方法会对内存有不同的影响吗,会存在某一个方法影响内存特别大吗