本帖最后由 Guanliyuan 于 2018-7-26 15:00 编辑
常用API
java.lang.Object类:是所有类的父类 任何一个类都直接或者间接继承Object,可以使用Object中的一些方法 一个类如果没有指定继承某个父类,则默认继承Object类
// 成员方法
String toString():返回该对象的字符串表示
boolean equals(Object obj):指示其他某个对象是否与此对象“相等”
// 默认直接继承Object
public class Father {
}
// 直接继承Father, 间接继承Object
public class Son extends Father {
}
重写Object类的toString方法的作用:将对象转换为字符串的表示形式 显示内容:类的全路径.@.十六进制的哈希值
重写Object类的equals方法的作用:比较两个对象是否“相等” 默认规则就是比较两个对象的地址值是否相等,开发时默认规则不适用于我们的要求
日期类输出当前日期:Date(): 当前系统时间;Date(long millis): 使用指定毫秒值作为时间;long getTime(): 获取毫秒值;void setTime(long millis): 修改毫秒值;
Date日期转换定义了两个功能:1.Date对象转换成指定格式的String字符串;2.将一个日期字符串按指定格式转换成Date类型
格式化:Date转换成指定格式String (String format(Date date)); 解析:将日期字符串转换成Date对象(Date parse(String soure))
Java.util.Calendar类 用来封装时间属性,是抽象类,不能直接创建对象,受语言环境影响,初始化和系统相关,提供了一个静态方法
Calendar c = Calendar.getInstance();// 代表当前时间
Static long currentTimeMillis();// 返回当前时间单位的毫秒值
static void arrayCopy(Object src, int srcIndex, Object dest, Object destIndex, int length);// 将数组中指定的数据拷贝到另一数组中
StringBuilder:称为可变字符序列,类似String字符串缓冲区,用来解决字符串拼接时占用内存过多问题
StringBuilder append(任意类型字符串);// 添加任意类型字符串,并返回当前对象自身
String toString();将StringBuilder转换为String对象
装箱:基本类型只能转换成对应的包装类(Integer c = Integer.value(基本类型)); 拆箱:包装类就是用来包装基本类型(int d=c.intvalue());
泛型笔记
集合和数组的区别:1.数组长度是固定不变的,集合长度可动态改变;2.数组存储同一类型元素,可存储基本数据类型、引用类型;集合存储的是对象,且类型可不一致,是引用类型
List接口:1.有序集合 2.允许存储重复元素 3.有索引,可用普遍for循环
Set接口:1.不允许存储重复元素 2.没有索引,不能使用普通for循环 3.TreeSet和HashSet无序的集合,LinkedHashSet有序的集合
Interator迭代器是一个接口,无法直接使用需用接口的实现类对象 迭代就是遍历,迭代器用于遍历集合的对象
增强for对数组只是写法上的优化,底层还是普通for循环(for(数据类型 变量名:Collection集合或数组名){})
泛型会把数据类型作为参数传递 创建集合对象时,就会确定泛型的数据类型
创建集合对象不适用泛型 好处:集合不用泛型,默认是Object类型,可存储任意类型数据; 弊端:不安全,会引发一场
泛型定义在修饰符和返回值类型之间 格式:修饰符 泛型 返回值类型 方法名(参数列表(适用泛型)){方法体}
泛型的上限 格式:类型名称<? extends 类名> 对象名称;只能接受该类型及其子类
泛型的下限 格式:类型名称<? super 类名> 对象名称;只能接受该类型及其父类
泛型通配符:只能接收数据,不能调用法存储元素; List<?>list 不能调用add()添加元素,只能调用get()获取元素
泛型没有继承概念,不能创建对象使用,只能作为方法参数使用,其实是一个变量,可以将一个集合赋值给它:List<?>list = new ArrayList<string>();
|