本帖最后由 18032086639 于 2018-11-14 17:01 编辑
Object类 是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类. public String toString() :返回该对象的字符串表示 任何类的对象都可调用 toString(), 得到一个对象的字符串表示形式, 默认使用Object类中定义的方式 由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。 注: Alt + Insert 选择 toString() 即可重写 public boolean equals(Object obj:指示其他某个对象是否与此对象“相等”。 重写equals()的作用: 不重写时, 自定义对象默认继承Object类的equals()方法, 通过 == 比较地址值,但开发时, 一般要重写equals()方法, 让对象"根据属性值"来判断是否相等. 注: Alt+Insert, 选 equals() and hashCode(); Date时间相关的类 Public Date(): Date date=new Date 分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒) public Date(long date): Date date= Date(0L); 分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数. public long getTime(): date.getTime(); 把日期对象转换成对应的时间毫秒值。 void setTime(long time): date..setTime(long time) 修改Date对象的时间 DateFormat类和SimpleDateFormat类 DateFormay类是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。 SimpleDateFormat类用给定的模式和默认语言环境的日期格式符号创建对象 SimpleDateFormat format = new SimpleDateFormat("yyyy‐MM‐dd HH:mm:ss"); String format(Date date): 格式化:按照指定的 格式,从Date对象转换为String对象。 Date parse(String source) 解析:按照指定的格式,从String对象转换为Date对象。 format方法,parse方法 String format(Date date): 格式化, 从Date对象转换为String对象 SimpleDateFormat对象的模式是: "yyyy年MM月dd日 HH:mm:ss" 将Date格式化后就可以是这种样子: 2018年01月02日 03:04:05 Date parse(String source): 解析, 从String对象转换为Date对象 SimpleDateFormat对象的模式是: "yyyy-MM-dd" 要解析为Date对象的字符串必须符合模式: 2000-01-02 Calendar类 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。 Calendar c = Calendar.getInstance(); //代表当前时间 java.util.Calendar抽象类: 代表日历, 提供了不同国家的历法, 封装了很多时间属性 // 静态成员变量 static int YEAR :年份 static int MONTH :月份. 注意月份数值是 0-11 static int DAY_OF_MONTH :日期 static int HOUR :小时(12小时制) static int HOUR_OF_DAY :小时(24小时制) static int MINITE :分钟 static int SECOND :秒 // 非静态成员方法 2018 09 11 int get(int field): 获取指定日历字段的值 int date = cal.get(Calendar.DAY_OF_MONTH) void set(int field, int value): 修改指定日历字段为指定的值 void set(int year, int month, int date): 快速设置年月日 void add(int field, int amount): 调整指定日历字段的值. 正数增加, 负数减少 Date getTime(): Calendar转Date void setTime(Date d): Date转Calendar
// 示例 // 获取日期: int day = calendar.get(Calendar.DAY_OF_MONTH); // 修改年: calendar.set(Calendar.YEAR, 2000); // 修改月: calendar.set(Calendar.MONTH, 0); // 日期增加一天: calendar.add(Calendar.DAY_OF_MONTHY, 1); // 日期减少一天: calendar.add(Calendar.DAY_OF_MONTHY, -1);
long (数学计算) \ SimpleDateFormat Date -------------------- String (用户输入和显示) / Calendar (获取时间的某个部分, 调整时间)
long和Date对象互转 利用Date Date(long millis): long转Date long getTime(): Date转long String和Date对象互转 利用SimpleDateFormat Date parse(String s): String转Date String format(Date): Date转String Calendar对象和Date对象互转 利用Calendar Date getTime(): Calendar转Date void setTime(Date d): Date转Calendar System类 currentTimeMillis()和arrayCopy()方法 java.lang.System类: 系统相关功能
// 静态方法 static long currentTimeMillis(): 返回当前系统时间的毫秒值 static void arrayCopy(Object src, int srcPos, Object dest, int destPos, int length): 复制源数组中指定长度个元素到一个新数组中 * Object src: 源数组 (被复制的数组) * int srcPos: 源数组索引 (从源数组的哪个索引开始复制) * Object dest: 目标数组 (要复制到哪个数组) * int destPos: 目标数组索引 (指定目标数组接收元素的索引位置) * int length: 长度 (要复制的元素个数) StringBuilder称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。 public StringBuilder():构造一个空的StringBuilder容器。 public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。 常用方法: StringBulider append()添加任意类型数据的字符串形式,并返回当前对象自身。 public String toString():将当前StringBuilder对象转换为String对象。 包装类 基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“;装箱:从基本类型转换为对应的包装类对象。 拆箱:从包装类对象转换为对应的基本类型。 基本类型转换为String,基本类型直接与””相连接即可;如:34+""除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型 Collection集合集合
集合是java中提供的一种容器,可以用来存储多个数据。
数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。 Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。方法如下: publicboolean add(E e): 把给定的对象添加到当前集合中 。 publicvoid clear() :清空集合中所有的元素。 publicboolean remove(E e): 把给定的对象在当前集合中删除。 publicboolean contains(E e): 判断当前集合中是否包含给定的对象。 publicboolean isEmpty(): 判断当前集合是否为空。 public int size(): 返回集合中元素的个数。 public Object[] toArray(): 把集合中的元素,存储到数组中。 Iterator迭代器: Iterator接口想要遍历Collection集合,那么就要获取该集合迭代器完成迭代操作,下面介绍一下获取迭代器的方法: public Iteratoriterator():获取集合对应的迭代器,用来遍历集合中的元素 Iterator接口的常用方法如下: public E next():返回迭代的下一个元素。 publicboolean hasNext():如果仍有元素可以迭代,则返回 true 增强for它用于遍历Collection和数组。通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作。 For(数据类型 变量 :数组或集合) 泛型的"定义"和"使用" 泛型在"定义"时, "不能是"具体的类型, 只是一个变量名: public class ArrayList<E> {} 泛型在"使用"时, "必须是"具体的数据类型 ArrayList<Integer>. 修饰符 class 类名<代表泛型的名字> {...} 定义与使用含有泛型的接口 public class A implementsGenericInterface<String> public class A<I> implementsGenericInterface<I> 泛型定义总结: 定义在类上的泛型: 有效范围: 整个类中都有效 何时确定具体类型: 创建该类对象时确定泛型的具体类型 定义在方法上的泛型: 有效范围: 方法中(包括返回值类型和参数类型)有效 何时确定具体类型: 调用方法传参时确定泛型的具体类型 定义在接口上的泛型: 有效范围: 接口中 何时确定具体类型: 1. 子接口或实现类定义时确定泛型的具体类型 2. 创建实现类对象时确定泛型的具体类型 泛型的通配符 不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。 public static void getElement(Collection<?> coll){} 之前设置泛型的时候,实际上是可以任意设置的,只要是类就可以设置。但是在JAVA的泛型中可以指定一个泛型的上限和下限。 泛型的上限: 泛型的上限: 格式: 类型名称<? extends 类名> 对象名称 示例: List<? extends Number> list 作用: 只能接收泛型为该类型及其子类的对象(Number及其子类的泛型)
泛型的下限: 格式: 类型名称<? super 类名> 对象名称 示例: List<? super Number> list 作用: 只能接收泛型为该类型及其父类型的对象(Number及其父类的泛型)
|