A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关于Object、Date、System、DateFormat、Calendar和Collection以及泛型相关
Object类java.lang.Object
其中的两个方法:
Public String toString():返回该对象的字符串表示
Public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”
toString方法:
Public String toString():返回该对象的字符串表示。其实该字符串内容就是对象的类型+@+内存地址值
直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法
Equals方法:
Public boolean equals(Object obj):指示其他某个对象是否于此对象“相等”
如果没有覆盖重写equals方法,那么object类中的默认进行==运算符的对象地址比较,只要不是同一个对象,结果必然为false
重写equals()和hashCode()方法
Date类java.util.Date(毫秒)
Public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)创建date对象,打印输出该对象,表示的是当前计算机的时间
Public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间以来的指定毫秒数,创建一个时间对象,表示基准时间+time 之后新生成的时间(基准时间:1970.1.1 00:00:00)
getTime():把日期对象转换成对应的时间毫秒值
setTime(long time):修改Date对象的时间
DateFormat类(抽象类)java.text.DateFormat
是日期/时间格式化子类的抽象类,从Date对象转换为String对象和把String对象转换为Date对象
构造方法:
Public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat.(参数pattern是一个字符串,代表日期时间的自定义格式)y --- 年   M --- 月  d -- 日 H -- 时   m -- 分 s-- 秒
E--星期    D--年中的天  K--小时(12小时制) S--毫秒
如果要匹配普通的英文字母,则需要用单引号括起来:“‘abc’”
如果要匹配单引号,则使用2个单引号:“‘’”
方法:
Public String format(Date date):将Date对象格式化为字符串
Public Date parse(String source):将字符串转换为Date对象
Calendar类java.util.Calendar(抽象类)
静态方法:public static Calendar getInstance():使用默认时区和语言环境获得一个日历  其中月份从0-11,星期是从星期日开始的
常用方法:public int get(int field):返回给定日历字段的值
          Public void set(int field,int value):将给定的日历字段设置为给定值
          Public abstract void add(int field, int amout):根据日历的规则,为给定的日历字段添加或减去指定的时间量
          Pubic Date geitTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
         Void setTime(Date d ): Date转Calendar
System类java.lang.System
常用方法:
Public static long currentTimeMillis():返回以毫秒为单位的当前时间
Public static void arraycopy(Object stc,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组中(改变最后一愕数组中的数据)
参数序号
参数名称
参数类型
参数含义
1
Src
Object
源数组
2
strPos
int
源数组索引起始位置
3
Dest
Object
目标数组
4
destPos
Int
目标数组索引起始位置
5
Length
Int
复制元素个数
StringBuilder类java.lang.StringBuilder
他是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容
构造方法:
Public StringBuilder():构造一个空的StringBuilder容器
Public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去
常用方法:
Public  StringBuilder append(……):添加任意类型数据的字符串形式,并返回当前对象自身
Public String toString():将当前StringBuilder对象转换为String对象
装箱和拆箱:基本类型与包装类之间的转换
装箱:从基本类型转换为对应的包装类对象
拆箱:从包装类对象转换为对应的基本类型
Collectiong集合
集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map
Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.until.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.TreeSet。
Collection常用功能:
方法:public boolean add(E e):把给定的对象添加到当前集合中
      Public void clear():清空集合中所有的元素
      Public boolean remove(E e):把给定的对象在当前集合中删除
      Public boolean contains(E e):判断当前集合中是否包含给定的对象
      Public boolean isEmpty():判断当前集合是否为空
      Public int size():返回集合中元素的个数
      Public Object[] toArray():把集合中的元素,存储到数组中
Iterator接口:java.util.Iterator   IteratorCollection中的一个方法
获取迭代器的方法:public Iterator iterator():获取集合对应的迭代器,用来遍历集合中的元素
获取迭代器,需要Iterator完成操作
Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,地带起就是什么泛型
迭代器的使用步骤:
1、使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
2、使用Iterator接口中的方法hasNext()方法判断还有没有下一个元素
3、使用Iterator接口中的方法next()方法,获取集合的下一个元素
E next()获取元素,获取之后指向下一个元素
Boolean  hasNext()判断是否还要元素需要遍历
Void  remove():删除next指向的元素
注意事项:
1、迭代器对象迭代完毕后,指针已经指向最后一个元素,没有下一个元素了,如果想再次从头遍历集合,要获取新的迭代对象
2、在使用爹大气迭代的过程中,乳沟执行了改变集合长度的操作(如add(),remove(),clear()),则会抛出ConcurrentModificationException并发修改异常,如果要在迭代的过程中添加,删除元素,要使用迭代器自带的方法,而不能使用集合的方法
forEach循环语句
格式:
For(用来接收数据或者集合中元素的数据类型  接收变量名 : 被遍历的数组或集合){
操作变量名即可
}
注意:forEach用于遍历Collection和数组,通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作
增强for,普通for,迭代器的区别:
    增强for:
                优点: 获取元素很方便, 格式简单
                缺点: 没有普通for中的索引, 没有迭代器对象可以进行元素的增删
                应用场景: 适用于遍历获取数组和集合元素的场景
        普通for:
                优点: 有索引可以使用, 某些方式可以在遍历过程中增删元素
                缺点: 格式繁琐
                应用场景: 需要用到索引的场景
        迭代器:
                优点: 可以使用迭代器对象的方法操作元素
                缺点: 格式繁琐
                应用场景: 需要在迭代过程中增删元素的场景
泛型:
用来灵活的将数据类型应用到不同的类、方法,接口当中,将数据类型作为参数进行传递
定义和使用含有泛型的类
定义格式:
修饰符  class  类名<代表泛型的变量 >{  }
泛型在定义的时候不具体,使用的时候才变得具体,在使用的时候确定泛型的数据类型
含有泛型的方法:
格式:
修饰符  <代表泛型的变量>  返回值的类型  方法名(参数){   }
含有泛型的接口:
格式:修饰符  interface 接口名<代表泛型的变量> {    }
含有泛型的接口,第一种使用方式:定义接口的实现类,实现接口,指定接口的泛型
                第二种使用方式:接口使用什么泛型,实现类就用什么泛型,类跟着接口走,就相当于定义了一个含有泛型的类,创建对象的时候确定泛型的类型
泛型通配符:
不能创建对象使用,只能作为方法的参数使用
当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符<?>表示,但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用
不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符
泛型的上限:
格式:类型名称<? extends > 对象名称
      只能接收该类型及其子类
方形的下限:
格式:类型名称<? super > 对象名称
      只能接收该类型及其父类型

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马