JavaSE第十讲Java中的常用类.ppt
Copyright 2008-2009 WitB Java SE Java SE 2Process and Portfolio Management 2005 IBM Corporation第十讲第十讲Java中的常用类中的常用类3Process and Portfolio Management 2005 IBM CorporationObject类类所有所有Java类的超类类的超类Object类的主要方法类的主要方法4public String toString()返回的字符串是对对象的描述返回的字符串是对对象的描述Object类中的实现:返回类名加上对象的内存地址类中的实现:返回类名加上对象的内存地址4protected void finalize()在被进行垃圾回收之前,由在被进行垃圾回收之前,由JVM调用调用只能被调用一次只能被调用一次作用:释放占用的资源,需要子类覆盖此方法作用:释放占用的资源,需要子类覆盖此方法在被调用后,不一定立即被回收在被调用后,不一定立即被回收4Process and Portfolio Management 2005 IBM CorporationObject中的中的equals方法方法关系运算符关系运算符=的规则的规则4基本数据类型的:值是否相等基本数据类型的:值是否相等4引用类型的:是否引用同一个对象引用类型的:是否引用同一个对象public boolean equals(Object obj)4目的:判断两个对象的内容是否相等,一般的规则目的:判断两个对象的内容是否相等,一般的规则两个对象的实际的数据类型相同两个对象的实际的数据类型相同两个对象的所有实例属性内容相等两个对象的所有实例属性内容相等4Object的实现:使用关系运算符的实现:使用关系运算符“=“的规则实现的规则实现4子类需要覆盖此方法子类需要覆盖此方法 5Process and Portfolio Management 2005 IBM CorporationObject类的类的hashCode方法方法public int hashCode()4Hash Code:哈希码或散列码:哈希码或散列码 4返回是一个对应对象状态的整数,返回是一个对应对象状态的整数,Hash Code4用于支持用于支持Java中使用哈希表的数据结构,提高检索速度中使用哈希表的数据结构,提高检索速度4例如:例如:Hashtable,HashSet 对象的对象的Hash Code 4在在Java程序的一次执行过程中,一个对象的程序的一次执行过程中,一个对象的hashCode方法的方法的 返返回值始终如一回值始终如一 4两次执行中,返回值可以不同两次执行中,返回值可以不同6Process and Portfolio Management 2005 IBM CorporationObject类的类的clone方法方法 protected Object clone()4根据当前的对象复制并创建新的对象,保证以下表达式的值为根据当前的对象复制并创建新的对象,保证以下表达式的值为true x.clone()!=x x.clone().equals(x)(非强制)(非强制)4实现实现clone方法方法子类覆盖此方法子类覆盖此方法public修饰符修饰符 覆盖的同时需要实现覆盖的同时需要实现Cloneable接口接口仅覆盖但不实现仅覆盖但不实现Cloneable接口,会抛出异常:接口,会抛出异常:CloneNotSupportedExceptionMyObject.java7Process and Portfolio Management 2005 IBM CorporationString类的方法类的方法 String的实例方法的实例方法4String concat(String s)4String substring(int start)4String substring(int start,int end)4String toUpperCase()4String toLowerCase()4String replace(char old,char new)4String trim()注意:如果返回值同原字符串不同,实际上是创建了一个注意:如果返回值同原字符串不同,实际上是创建了一个新的新的String对象对象StringDemo.java8Process and Portfolio Management 2005 IBM CorporationString对象的性质对象的性质String对象是一个不变的字符序列对象是一个不变的字符序列 4String对象创建之后,不能对它的内容作出任何改变对象创建之后,不能对它的内容作出任何改变4连接、获得子串和改变大小写等操作,返回一个新的连接、获得子串和改变大小写等操作,返回一个新的String对象对象String类覆盖了类覆盖了equals方法方法String的特殊性的特殊性4相同的字符串文字常量都是同一个相同的字符串文字常量都是同一个String对象对象StringDemo.java9Process and Portfolio Management 2005 IBM CorporationString类的方法类的方法String的实例方法的实例方法4boolean endsWith(String s)4boolean startsWith(String s)4int indexOf(String s)4int indexOf(int ch)4int indexOf(String s,int offset)4int indexOf(int ch,int offset)对应对应indexOf方法的方法的lastIndexOf方法方法StringDemo.java10Process and Portfolio Management 2005 IBM CorporationString类的方法类的方法比较方法:比较方法:4boolean equals(String s)4boolean equalsIgnoreCase(String s)4int compareTo(String s)其他方法:其他方法:4char charAt(int index)4int length()StringDemo.java11Process and Portfolio Management 2005 IBM Corporation StringBuffer类类 StringBuffer是可变的是可变的Unicode字符序列字符序列4可以使用可以使用StringBuffer来对字符串的内容进行动态操作,不会产来对字符串的内容进行动态操作,不会产 生生额外的对象额外的对象String与与StringBuffer对象的变换对象的变换4StringBuffer的构造器的构造器StringBuffer(String value)4String的构造器的构造器 String(StringBuffer buffer)12Process and Portfolio Management 2005 IBM CorporationStringBuffer类的方法类的方法StringBuffer reverse()void setCharAt(int index,char ch)void delete(int start,int end)StringBuffer append(String s)StringBuffer insert(int offset,String s)StringBufferDemo.java13Process and Portfolio Management 2005 IBM Corporation包裹包裹(Wrapper)类类 包裹类是包裹类是Java基本类型的对象表示基本类型的对象表示包裹类是不变的对象包裹类是不变的对象每一个基本类型都有对应的包裹类:每一个基本类型都有对应的包裹类:4 byte Byte 4 short Short 4 int Integer 4 long Long 4 float Float 4 double Doule 4 char Character 4 boolean Boolean 14Process and Portfolio Management 2005 IBM Corporation包裹类的主要作用包裹类的主要作用满足必须使用对象的环境需要满足必须使用对象的环境需要 4例如:向集合对象中添加数据例如:向集合对象中添加数据 ArrayList a=new ArrayList();a.add(new Integer(50);提供同基本类型相关的一些信息提供同基本类型相关的一些信息 4Integer.MAX_VALUE为为int型变量的最大值型变量的最大值 提供一些同基本类型相关的功能提供一些同基本类型相关的功能 4Character.toUperCase(char c)将返回变量的大写型式将返回变量的大写型式 4Integer.parseInt(String s)将字符串转换为整数将字符串转换为整数 15Process and Portfolio Management 2005 IBM CorporationCollection APICollection常用的方法常用的方法Map的常用方法的常用方法CollectionSetListSortedSetHashMapHashtableMap16Process and Portfolio Management 2005 IBM CorporationCollection接口接口Collection的方法:的方法:4public boolean add(E o)4public boolean remove(Object o)4public int size()4public boolean isEmpty()4public boolean contains(Object element)4public Iterator iterator()Collection的主要子接口:的主要子接口:4Set接口接口 无序,不允许重复无序,不允许重复 4List接口接口 有序,允许重复有序,允许重复 17Process and Portfolio Management 2005 IBM CorporationMap接口接口Map中的方法中的方法:4public V put(K key,V value)4public V get(Object key)4public V remove(Object key)4public int size()4public boolean isEmpty()Map主要实现类:主要实现类:4HashMap 可以使用可以使用null值和值和null键盘键盘4Hashtable 不可以存放不可以存放null和和null键键18Process and Portfolio Management 2005 IBM CorporationArraysArrays类中常用的方法:类中常用的方法:4public static List asList(Ta)把一个把一个T类型的数组转换成为集合类型的数组转换成为集合4public static void sort(int a)对于对于int a 进行升序排序,当然也可以对其他的基本数据类型进行排序,进行升序排序,当然也可以对其他的基本数据类型进行排序,还可以对对象进行排序还可以对对象进行排序ArraysDemo.java19Process and Portfolio Management 2005 IBM CorporationDate类类Date类中常用的方法:类中常用的方法:4public long getTimer()返回自返回自 1970 年年 1 月月 1 日日 00:00:00 GMT 以来此以来此 Date 对象表示的毫秒对象表示的毫秒数数 注意:在注意:在Date类中的很多方法已经废弃,很多功能都由类中的很多方法已经废弃,很多功能都由Calendar这个类中的方法代替这个类中的方法代替,请参见下面的,请参见下面的Calendar的说明的说明20Process and Portfolio Management 2005 IBM CorporationCalendarCalendar中常用的方法中常用的方法4public boolean after(Object when)4public boolean before(Object when)4public get(int field)返回给定日历字段的值。返回给定日历字段的值。4public getDate()返回一个表示此返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的时间值(从历元至现在的毫秒偏移量)的 Date 对象。对象。CalendarDemo.java21Process and Portfolio Management 2005 IBM CorporationMathMath类的主要方法类的主要方法4public static double ceil(double d)返回不小于返回不小于d的最小的整数值的最小的整数值 4public static double floor(double d)返回不大于返回不大于d的最大的整数值的最大的整数值 4public static int round(float f)返回最接近返回最接近f的的int类型的数据类型的数据 4public static long round(double d)返回最接近返回最接近d的的long类型的数据类型的数据 4注意:注意:round(-2.5)=-2 22Process and Portfolio Management 2005 IBM CorporationMath类的主要方法类的主要方法 public static double random()4随机地返回一个在随机地返回一个在0.0与与1.0间的间的double值值 public static double sqrt(double d)4返回所给值的平方根,若所给值为负数则返回返回所给值的平方根,若所给值为负数则返回NaN public static double pow(double d1,double d2)4返回返回d1的的d2次方次方MathDemo.java23Process and Portfolio Management 2005 IBM CorporationSystem类类封装了对应用程序有用的数据和方法(静态变量、静态方封装了对应用程序有用的数据和方法(静态变量、静态方法)法)静态变量:静态变量:4public static PrintStream out 4public static InputStream in 4public static PrintStream err 24Process and Portfolio Management 2005 IBM CorporationSystem的方法的方法 System类的常用方法:类的常用方法:4public static void setErr(PrintStream err)4public static void setOut(PrintStream out)4public static void setIn(InputStream in)4arraycopy方法方法 用于数组拷贝用于数组拷贝 4public static void exit(int status)结束当前结束当前JVM的运行的运行 4public static Properties getProperties()4public static String getProperty(String key)SystemDemo.java25Process and Portfolio Management 2005 IBM Corporation系统属性系统属性System类封装了系统的属性信息类封装了系统的属性信息 4系统属性:系统有关的环境信息系统属性:系统有关的环境信息 4属性:属性名、属性值属性:属性名、属性值 获得系统属性,获得系统属性,System类的静态方法类的静态方法 4public static Properties getProperties()4public static Map getEnv()26Process and Portfolio Management 2005 IBM CorporationThank YouThank You!Q&A Time