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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 农家豆腐 初级黑马   /  2018-11-14 16:39  /  618 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2018-11-16 10:42 编辑

JavaEE 就业班 day01  常用API
一 .Object类
1. toString 方法
Object类 中 该方法 返回的是对象的字符串表示,
在JavaBean中需重写 toString()方法,才可得到对象的属性名和属性值.
注: 在直接使用输出语句输出对象名的时候,也是调用该对象的toString() 方法.
2. equals方法
Object类中 基本数据类型比较数值,  
                   引用数值类型比较地址值
而我们常需要作比较的是对象的属性值,需重写该方法

二. 时间日期
1.Date类  
有2个包中都有Date类, java.sql.Date和java.util.Date
现在用的是util包
我们用的是 java.util.Date
无参构造 获取当前系统时间毫秒时刻   
有参构造 参数为long类型  自定义毫秒时刻
Date(long millis): long转Date
long getTime(): Date转long
2. DateFormat类           
   抽象类, 需要用其子类SimpleDateFormat
1. 格式化  format(Date date)
                  Date --> String对象
2. 解析      Date parse(String s)
    String对象 --> Date对象
创建SimpleDateFormat对象时,需使用指定的模式
例: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
3. Calendar类
抽象类,创建对象方式(多态):  通过静态方法创建,返回子类对象.
常用方法:
get()  获取             set()  设定
add() 对指定日历字段加减   getTine() 获取Date对象
三. System类
currentTimeMillis方法
获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
arraycopy方法
数组中指定的数据拷贝到另一个数组中。
四.StringBuilder类
append方法
添加任意类型数据的字符串形式,并返回当前对象自身。
toString方法
将当前StringBuilder对象转换为String对象。

基本类型转换为String
常用格式 :    基本数据类型+ ""


day02  Collection 泛型
一. Collection接口
学习方法:
学习顶层: 顶层接口/抽象类中共性的方法, 所有子类都可以使用
使用底层: 使用底层子类/实现类创建对象


二. 迭代器(Iterator接口)
使用迭代器遍历集合的3步:
1. 使用集合对象的 iterator() 获取迭代器对象, 用 Iterator 接口接收.(多态)
2. 使用 Iterator 接口中的 hasNext() 方法, 判断是否有下一个元素
3. 使用 Iterator 接口中的 next() 方法, 获取下一个元素
并发修改异常的原因:
在使用迭代器迭代的过程中, 如果执行了改变集合长度的操作 (如 add(), remove(), clear()), 则会抛
出 ConcurrentModificationException 并发修改异常.
如何避免:
1. 迭代过程中不要修改集合长度
2. 在迭代的过程中添加, 删除元素, 要使用迭代器自带的方法, 而不能使用集合的方法
Iterator中的 remove() 方法
ListIterator中的 add(), remove() 方法

三. 增强for循环
用于遍历集合, 底层采用迭代器

增强for, 普通for, 迭代器的区别:
1. 增强for:
优点: 获取元素很方便, 格式简单
缺点: 没有普通for中的索引, 没有迭代器对象可以进行元素的增删
应用场景: 适用于遍历获取数组和集合元素的场景
2. 普通for:
优点: 有索引可以使用, 某些方式可以在遍历过程中增删元素
缺点: 格式繁琐
应用场景: 需要用到索引的场景
3. 迭代器:
优点: 可以使用迭代器对象的方法操作元素
缺点: 格式繁琐
应用场景: 需要在迭代过程中增删元素的场景

四. 泛型
泛型可以看作是一个"变量", 用来接收数据类型
泛型的好处:
1. 避免了类型转换的麻烦
2. 将运行时的类型转换异常, 转移到了编译时期 (有利于程序员提前发现问题)
定义和使用含泛型的类
泛型的"定义"和"使用"
泛型在"定义"时, "不能是"具体的类型, 只是一个变量名: public class ArrayList<E> {}
泛型在"使用"时, "必须是"具体的数据类型 ArrayList<Integer>
类中的泛型, "在创建对象时", 确定泛型的具体类型

定义与使用含有泛型的接口
1. "定义实现类时", 确定泛型的具体类型
2. 定义实现类时仍然沿用泛型, 直到"创建该实现类对象时"才确定泛型的具体类型

五. 泛型通配符
<?>  表示未知通配符
只能接收数据, 不能调用方法存储元素
泛型的上限:
格式: 类型名称<? extends 类名> 对象名称
示例: List<? extends Number> list
作用: 只能接收泛型为该类型及其子类的对象 (Number及其子类的泛型)
泛型的下限:
格式: 类型名称<? super 类名> 对象名称
示例: List<? super Number> list
作用: 只能接收泛型为该类型及其父类型的对象 (Number及其父类的泛型)

0 个回复

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