java就业班已经学到第四天了,这几天学的东西比较多,需要多复习前几天的内容
Object类:
是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。
方法:
toString方法
public String toString() :返回该对象的字符串表示。
toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
equals方法
public boolean equals(Object obj) :指示其他某个对象是否与此对象“相等”。
调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定 义两种方式。
Date类:
java.util.Date 类 表示特定的瞬间,精确到毫秒。
构造方法:
public Date() :分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long date) :传入毫秒值,返回Date对象时间值
tips: 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。
方法:
public long getTime() 把日期对象转换成对应的时间毫秒值。
DateFormat类:
java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转 换,也就是可以在Date对象与String对象之间进行来回转换。
格式化:按照指定的格式,从Date对象转换为String对象。
解析:按照指定的格式,从String对象转换为Date对象。
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类 java.text.SimpleDateFormat 。这个类需要一个 模式(格式)来指定格式化或解析的标准。
构造方法为:
public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
SimpleDateFormat sd = new SimpleDateFormat("........");
标识字母(区分大小写) 含义
y 年
M 月
d 日
H 时
m 分
s 秒
方法:
public String format(Date date) :将Date对象格式化为字符串。
public Date parse(String source) :将字符串解析为Date对象。
Calendar类:
java.util.Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装 为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
因为都是静态的,所以不用创建对象,直接点方法就可以了。
Calendar cal = Calendar.getInstance(); //多态的形式
方法:
public int get(int field) :返回给定日历字段的值。
public void set(int field, int value) :将给定的日历字段设置为给定值。 public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指 定的时间量。
public Date getTime() :返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
System类:
java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文 档中,常用的方法有:
public static long currentTimeMillis() :返回以毫秒为单位的当前时间。 public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将 数组中指定的数据拷贝到另一个数组中。
lang包下不需要导包,静态方法直接点就可以了。
currentTimeMillis方法:
System.currentTimeMillis()
获取现在的系统时间到原点(1970年01月01日0点0分0秒)的毫秒值。
用途:
计算代码开始到结束使用的时间。
arraycopy方法:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将 数组中指定的数据拷贝到另一个数组中。
src:被复制的数组
srcPos:被复制从几号索引值开始
dest:粘贴出来的数组
destPos:粘贴从几号索引值开始放
length:粘贴的长度
StringBuilder类:
原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进 行各种操作。
构造方法:
public StringBuilder() :构造一个空的StringBuilder容器。(默认创建一个16位的容器)
public StringBuilder(String str) :构造一个StringBuilder容器,并将字符串添加进去。
方法:
public StringBuilder append(...) :添加任意类型数据的字符串形式,并返回当前对象自身。 public String toString() :将当前StringBuilder对象转换为String对象。
包装类:
基本类型 对应的包装类(位于java.lang包中)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
装箱和拆箱:
装箱:从基本类型转换为对应的包装类对象。
拆箱:从包装类对象转换为对应的基本类型。
自动装箱和自动拆箱:
由于我们经常要做基本类型与包装类之间的转换,从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作 可以自动完成。例如:
Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5;
//加法运算完成后,再次装箱,把基本数值转成对象。
基本类型与字符串之间的转换
public static byte parseByte(String s) :将字符串参数转换为对应的byte基本类型。 public static short parseShort(String s) :将字符串参数转换为对应的short基本类型。 public static int parseInt(String s) :将字符串参数转换为对应的int基本类型。 public static long parseLong(String s) :将字符串参数转换为对应的long基本类型。 public static float parseFloat(String s) :将字符串参数转换为对应的float基本类型。 public static double parseDouble(String s) :将字符串参数转换为对应的double基本类型。 public static boolean parseBoolean(String s) :将字符串参数转换为对应的boolean基本类型。
注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出 java.lang.NumberFormatException 异常。
toUpperCase方法:
将小写字母变成大写字母
1.1 Collection集合:
集合和数组的区别:
集合:长度可变,只能存储引用数据类型
数组:长度固定,既可以存储基本类型也可以存引用类型
集合的体系结构:集合类有很多,不断的抽取共性,则形成了体系结构
1.2 Collection
--List:有序(存和取得顺序),有索引允许重复
--ArrayList
--LinkedList
--Vector
--Set:无序(不保证存和取得顺序一致),无索引,不允许重复
--HashSet
--LinkedHashSet
--TreeSet
1.3 Collection中的常用功能:
boolean add(E e) 添加指定元素,返回是否添加功能(对于ArrayList来说,永远添加成功,因为长度可变,而且允许元素重复)
void clear()删除集合中的所有元素(清空)
boolean contains(object o)判断集合中是否包含指定元素
boolean isEmpty()判断集合是否为空(元素的个数是否为0)
boolean remove(object o)删除指定元素,第一次出现的元素,返回是否删除成功(当元素不存在 则删除失败)。
int size()返回元素的个数
object[] toArray()将集合转为数组
T[] toArray(T[] arr)将集合转为指定类型的数组
(*)只要是Collection的实现类,则一定拥有Collection的功能
2.1 Iterator<E> iterator()返回迭代器对象
Iterator<String> s = c.iterator();
2.2 Iterator:迭代器接口:
boolean hasNext()判断是否还有元素可以迭代
E next() 取出指定元素
工作原理:
1.默认迭代器对象为指向集合的第一个元素
2.我们判断是否有指定位置的元素
3.取出指向的元素用next()方法
2.3 注意事项:
1.没有指定元素异常
2.并发修改异常
记住:
我们使用迭代器的时候,不要在使用过程中进行集合元素的添加或者删除(修改可以)
2.4 增强for循环(for each):
格式:
for(元素类型 变量名称 : 数组/集合){
sout(变量名称);
}
2.6 工作原理:
每次都会将集合/数组的元素赋值给冒号左边的变量,我们就可以通过操作变量从而操作集合中的元素
想解决这个并发修改异常:
1.不要使用迭代器来遍历集合,使用转数组的方式
2.在需要修改集合的时候,不要使用集合来操作,用迭代器来操作
2.7 ListIterator子类迭代器。
3.1 泛型:
1. 2 使用泛型的好处:
1.限定了集合中存储的数据类型,减少因为类型转换带来的一些问题(提高了安全性)
2.简化代码的书写,可以不用向下转型
2. 3 定义泛型类的格式在类名后面加个<E>
定义泛型的方法:
应用场景:如果返回值类型和传递的参数是相关的,这个时候推荐使用泛型方法
3. 4 定义泛型的接口
格式与定义类一样
1.可以在实现接口类中直接确定泛型的具体类型
2.在定义实现接口类的时候不确定泛型的类型,在创建对象的时候在确定泛型类型
4. 5 泛型的边界:
1. ? 是一个通配符,如果泛型定义的类型是?代表传递任意类型的数据
2. ? extends Person 代表可以传递Person 类型,以及其子类型(上限)
3. ? super Person 代表可以传递Person 类型,以及其父类型(下限)
|
|