Object类、常用API
Object类的equals方法,默认比较的是两个对象的地址值,没有意义。所以我们要重写equals方法,比较两个对象的属性。
多态的弊端:无法使用子类特有的内容(属性和方法)。解决:可以使用向下转型(强转)把obj类型转换为子类类型。类型判断instance of。
java.util.Date:表示日期和时间的类。Date()获取当前系统的日期和时间。Date(Long date):;传递毫秒值,把毫秒值转换为Date日期。Long getTime()把日期转换为毫秒值。
java.text.DateFormat:是日期/时间格式化子类的抽象类。格式化(日期->文本)、解析(文本->日期)。
成员方法: String format(Date date)、 Date parse(String source)
DateFormat 类是一个抽象类,无法直接创建对象使用,可以使用DateFormat类的子类SimpleDateFormat
SimpleDateFormat(String pattern)
pattern模式区分大小写:y年,M月,d日,H时,m分,s秒。
举例

注意parse方法声明了一个异常。若字符串和构造方法的模式不一致时抛出。

java.util.Calendar类是一个抽象类,里面提供了很多操作日历字段的方法。它无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象。如:Calendar c=new Calendar.getInstance ();
java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。常用方法有,public static long currentTimeMillis() 和public static void arraycopy(参数)。
String类和StringBuilder类的区别:
String类:字符串是常量;它们的值在创建之后不能更改。字符串的底层是一个被final 修饰的数组,不能改变,是一个常量。privat final byte[ ] value;
StringBuilder类:字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变换的字符串)底层也是一个数组,但是没有被final修饰,可以改变长度。byte[] value=new byte[16] 超出容量会自动扩容。 public StringBuilder append()
String类和StringBuilder类可以互相转化。StringBuilder(String),StringBuilder.toString()
包装类:基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类。我们可以使用类中的方法来操作这些基本类型的数据。

装箱:把基本类型的数据,包装到类中(基本类型的数据-->包装类)方法如:Integer(int value), Integer a=Integer.valueof(int a)
拆箱:在包装类中取出基本类型的数据(包装类-->基本类型的数据)方法如:a.intvalue()
JAVA中可自动装拆箱。如Integer a=1;a=a+5;
Collection、泛型

Collection 常用功能:add,clear,remove,contains,isEmpty,size,toArray。
Iterator 迭代器
Collection 集合元素的通用获取方式。常用方法,hasnext,next。
Iterator迭代器是一个借口,无法直接使用,需要使用Iterator接口的实现类对象。如 Iterator<string> it =list.iterator()。
增强for
增强for循环也叫for each 循环,是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合。内部原理是Iterator迭代器,所以在遍历过程中不能对集合元素进行增删操作。
格式:
for (集合/数组的数据类型 变量名:集合名/数组名){}
泛型——是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型。泛型也可以看出是一个变量,用来接收数据类型。
创建集合对象,使用泛型好处:1.避免了类型转换的玛法,存储的是什么类型,取出的就是什么类型。2.把运行期异常,提升到了编译期。弊端:泛型是什么类型,只能存储什么类型的数据。不使用泛型的好处:默认的类型是Object类型,可以存储任意类型的数据。弊端:不安全,会引发异常。
定义泛型类:如public class GenericClass<E>{private E name;public E getName{}}
定义泛型方法:public E getName{};
定义泛型接口两种方式:如 public interface Iterator<E>{} public final class Scanner implements Interator<String>和public interface List<E>{} publice class Arralist<E> implements List<E>{}。区别:实现类有没有指定泛型的类型。若没有制定,在创建对象的时候指定。
泛型通配符:? 代表任意的数据类型。使用方式:不能创建对象使用,只能作为方法的参数使用。
受限泛型:

Java核心类与泛型详解
318

被折叠的 条评论
为什么被折叠?



