您的位置:首页 > 编程语言 > Java开发

java_常用类库

2013-06-23 21:05 369 查看
常用类

Object类

它是Java所有类的父类.所以Java的所有对象都拥有Object类的成员.

1.一般方法

boolean equals(Object obj) //本对象与obj对象相同,返回true

String toString() //返回本对象的字符串表达形式,默认返回类名称和十六进制数的

编码,即:getClass().getName+’@’+Integer.toHexString(hashCode());

如果要显示自定义的对象,则需要覆盖这个方法。

protected void finalize() throws Throwable //对象销毁时被自动调用,

native int hashCode()

返回对象的Hash码,Hash码是表示对象的唯一值,故Hash码相同的对象是同一对象。

2.控制线程的方法

final native void wait() //等待对象

final native void notify() //通知等待队列中的对象进入就绪队列

final native void notifyAll()//通知所有处于等待队列中的对象进入就绪队列

3.关于Object类的几点说明:

3.1. native <方法>
是指用C++语言编写的方法。

3.2. “==” 运算符一般用于基本数据类型的比较,如果用于两个引用对象的比较,则

只有当两个引用变量引用同一个对象时,才返回true,否则返回false.

String s1=new Strng(“java”);

String s2=new Strng(“java”);

System.out.pritnln(s1==s2); //显示false

但是,假如不使用new关键字,创建String
型对象s3,s4,则它们引用的是同一个对象。

String s3=“java”;

String s4=“java”;因为没有使用new
关键字,所以s4 引用既存的对象

System.out.pritnln(s3==s4); //显示true,

3.3. 比较对象内容时,使用equals()函数

Object 类的equals()定义

Public boolean equals(Object obj){

return (this==obj);

}

由于String
类覆盖了继承自Object类的equals()方法,它比较的是引用对象的内容.

所以,没有覆盖equals()方法的类的对象使用该方法与另一对象进行比较时,永远返

回false; 只是因为此时进行比较调用的是Object的equals方法.

4. Object引用型变量

Object引用型变量可以用来引用所有的对对象.

Object[] obs=new Object[3];

obs[0]=new Strng(“12345”);//将String对象赋给obs[0]

obs[0]=new Boolean(true);

obs[0]=new Integer(100);

5. toString()方法

该方法返回本对象的字符串表示.当需要显示子类对象时,系统自动调用该对象的toString()方法,如果该对象没有覆盖祖先类的toString()方法,则系统默认调用Object的这个方法,从而显示类的完整路径名称.反之,将按子类的toString()方法显示其内容.

class Student{

Strng name;

Public Student(){

this.name=”洋洋”

}

}

public class Test{

public static void main(String[] args){

Student st=new Student();

System.out.println(st);

}

}

//子类覆盖toString()

class Student{

Strng name;

Public Student(){

this.name=”洋洋”

}

public String toString(){

retrun “你的姓名:”+this.name;

}

}

public class Test{

public static void main(String[] args){

Student st=new Student();

System.out.println(st); //显示

}

}

String类

两种赋值方式:

1、用”=”直接赋值 String str = “hello”;

2、用new关键字赋值 String str = new String(“hello”);

两种赋值方式的区别:第一种节约内存空间,第二种会产生垃圾。

String
是一种引用类型。

1.构造函数:

String(String original)

String(char[] cc)

String(char[] chars,int startIndex,int charCount)

String(byte[] chars)//使用平台默认字符编码,用byte[]构造一个String对象

String(byte[] chars,int startIndex,int charCount)

String(StringBuffer sb)

2.静态函数:

String valueOf(object obj)
将任意类型转换为字符串。

3.操作函数:

3.1. 类型转换

char[] toCharArray();
返回字符串对应的字符数组

3.2. 获得字符

charcharAt(int index)
返回索引为index位置的字符

3.3. 删除空白字符

String trim()
删除字符串前后空格

3.4. 分裂字符串

String[] splite(String rex)按分隔字符串进行分隔,返回字符串数组

说明:
如果字符串用英文句号”.”分隔,则需要用”\\.”表示,例如:

Strings="2007.10.18";

String[]sArray=s.split("\\.");
因为英文句号”.”为正则表达式的特殊字符

3.5. 查找字符串

boolean startsWith(String s)

在本串开始部分查找是否有与 s 匹配的串。返回true,表示匹配,

boolean endsWith(String s)

在本串末尾部分查找是否有与 s 匹配的串。返回true,表示匹配,

boolean equals(Object obj)true
表示本串与obj串内容相等

boolean equalsIgnoreCase(String anotherString)

忽略大小写比较,返回true 表示本串与obj串内容相等

int indexOf(String s)

从本串开始部分查找是与 s 匹配的串。返回s在本串中的起始位置

int lastIndexOf(String s)

从本串末尾查找是与 s
匹配的串。返回s在本串中的起始位置

3.6. 字符串比较

int compareTo(String anotherString)

返回负数表示本串< anotherString;

0表示本串等于anotherString;

正数表示本串> anotherString;

int compareToIgnoreCase(String anotherString)
忽略大小写比较

返回负数表示本串< anotherString;

0表示本串=anotherString;

正数表示本串> anotherString;

3.7. 截取字符串

String substring(intstartPos,int endPos)

返回startPos――endPos之间的字符串(不含endPos位置的字符)。

String substring(int startPos)
返回从startPos开始直到串尾的全部字符

3.8. 大小写转换

String toLowerCase()
转换为小写字母

String toUpperCase()
转换为大写字母

3.9. 拷贝

getChars(int StartPos,intendPos,char[] c,int startIndex)
拷贝startPos――endPos之间的字符串(不含endPos位置的字符)到字符数组c
中,从索引startIndex开始存放

getBytes(int StartPos,intendPos,byte[] b,int startIndex)
拷贝startPos――endPos

之间的字符串(不含endPos位置的字符)到字节数组b
中,从索引startIndex

开始存放byte[] getBytes();
返回byte数组

bye[] getBytes()
使用平台默认字符编码,将当前字符串转换为一个byte数组

3.10. 获得串长度

int length()
返回串长度(字符个数)

3.11. 替换子串

String replace(char oldChar,charnewChar)

将本串中全部oldChar字符替换为newChar字符,并返回替换后的字符串

3.12. 类型转换

static int Integer.parseInt(Strings);//转换为int类型

static long Long.parseInt(Strings);//转换为int类型

static doubleDouble.parseInt(String s);//转换为int类型

说明:上述类型的转换如果不成功,将抛出NumberFormatException异常。

3.13. 匹配

boolean matches(String pattern) //pattern为正则表达式。

当字符串与pattern匹配时,返回true

常见的匹配模式:

A. 匹配超链接标记 <a.+href*=*[‘\”]?.*?[‘\”]?.*?>

B. 匹配e-mail ^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$

4. 字符串的连接

用运算符 “+”进行两个字符串的连接。如:

String s1=”sun”;

String s2=”company”;

String s=s1+s2; //此时s内容为:sun company

StringBuffer类

如果要对字符串进行动态增减,则用StringBuffer类,因此,StringBuffer又称动态字符串。

1.构造方法

StringBuffer()

StringBuffer(int iniCapacity)

StringBuffer(String s) //将指定的String内容变为StringBuffer内容

2.操作函数:

2.1. 获得长度

int length() 返回字符串的个数

2.2. 添加对象

append(object obj)//在尾部添加对象

insert(int StartPos,object obj)在StartPos位置插入对象obj

2.3. 返回字符串

String toString()

2.4. 删除子串

StringBuffer delete(intstart,int end)

删除从start开始到end-1之间的字符串,并返回当前对象的引用

StringBuffer deleteCharAt(int index)

删除索引为index位置处的字符,并返回当前对象的引用

2.5. 获得字符

char charAt(int index)
返回索引处的字符

2.6. 修改字符

void setCharAt(int index,char c)
设置索引index处的字符为c

2.7. 截取字符串

String substring(intstartIndex)
返回从startIndex开始直到最后的全部字符

String substring(intstartIndex,int endIndex)返回范围startIndex--endIndex的字符串

2.8. 反转字符串

StringBuffer reverse()
将该对象实体中的字符序列反转,并返回当前对象的引用。

2.9. 替换子串

String replace(int startIndex, intendIndex,String newStr)

用newStr替换当前对象从startIndex到endIndex-1
之间的字符序列,并返回对

Math类

一、四舍五入

static double rint(double arg) //返回对arg四舍五入的浮点数(小数位始终为.0)

static int round(float arg) //返回对arg四舍五入后的最近的整数

static long round(double arg) //返回对arg四舍五入后的最近的长整数

二.三角函数

static double sin(double arg) //返回arg的正弦值

static double cos(double arg) //返回arg的正弦值

static double tan(double arg) //返回arg的正弦值

static double asin(double arg) //返回arg的正弦值

static double acos(double arg) //返回arg的正弦值

static double atan(double arg) //返回arg的正弦值

三.指数函数

static double log(double arg) //返回arg的正弦值

static double pow(double y,double x) //返回y的x次方

static double sqrt(double arg) //返回arg的平方根

四.取整函数

static int abs(int arg) //返回arg的绝对值

static long abs(long y) //返回y的绝对值

static int max(int x,int y) //返回x,y的最大值

static int min(int x,int y) //返回x,y的最小值

static double ceil(double d) //返回>=d
的最小浮点数(小数位始终为.0)

static double floor (double d) //返回<=d
的最大浮点数(小数位始终为.0)

例如:ceil(123.15)
结果为124.0 floor(123.91) 结果为123.0

Random类

该类用于产生随机数,在java.util包中

一.构造函数:

Random()

Random(long seed)

二.方法:

int nextInt(int max)
产生一个0~~max-1之间的32位随机数

long nextLong(long max)产生一个0~~max-1之间的64位随机数

float nextFloat() 产生一个0.0---1.0之间的单精度随机数(<1.0)

double nextDouble()产生一个0.0---1.0之间的双精度随机数(<1.0)

boolean nextBoolean() 产生一个布尔随机数(true,false)

void nextBytes(byte[] b) 产生一个随机byte数组,
注意:bye[] 数组必须分配存储空间

例如,随机产生一个小写字母

Random rand=new Random();

int n=rand.nextInt(26)+97 //97=’a’

char c=(char)n;//转换为字母

Arrays类

Int binarySearch(数据类型[] a,数据类型 key);//二分查找,必须保证数组是排序的操作

Boolean equals(数据类型[] a,数据类型[] b);//比较两个数组的内容是否相等

Void fill(数据类型[] a,数据类型 val);//以指定的内容对数组进行填充

Void sort();//数组的排序操作

String toString(数据类型 a);//数组的输出

Int x[] ={1,3,4,6,7,5,77,};

Arrays.toString();//数组输出

Arrays.sort(x);//数组排序

Arrays.binarySearch(x,5);//二分查找

Arrays.fill(x,3);//数组中的内容使用数字3填充

一. 常用静态方法:

1.搜索

public static int binarySerach(byte[] a,int key)

public static int binarySerach(double[] a,double key)

public static int binarySerach(Object[] a, Object key)

在数组a中对key进行二进制搜索,并返回key所在的位置,没有找到,返回负数

2.相等比较

public static boolean equals(byte[] a, byte[] b)

public static boolean equals(double[] a, double[] b)

public static boolean equals(Object[] a, Object [] b)

比较两个数组,如果数组元素均相同,返回true,否则,返回false

3.填充

public static void fill(byte[] a, byte val)

public static void fill(double[] a,double val)

public static void fill(Object[] a,Object val)

将数组a中的所有元素填充为val

public static void fill(byte[] a, int fromIndex,inttoIndex,byte val)

public static void fill(double[] a, int fromIndex,int toIndex ,double val)

public static void fill(Object[] a, intfromIndex,int toIndex, Object val)

将数组中a中,从索引fromIndex到toIndex的所有元素填充为val

4.排序

public static void sort(byte[] a)

public static void sort(int[] a)

public static void sort(long[] a)

public static void sort (double[] a, byteval)

public static void sort (Object[] a)

将数组中a的所有元素进行升序排序

public static void sort(byte[] a, int fromIndex,inttoIndex)

public static void sort(int[] a, int fromIndex,inttoIndex)

public static void sort(long[] a, int fromIndex,inttoIndex)

public static void sort (double[] a, int fromIndex,int toIndex)

public static void sort (Object[] a, intfromIndex,int toIndex)

将数组a中,从索引fromIndex到toIndex-1的所有元素进行升序排序

Date类

表示日期和时间,在java.util包中

一. 构造函数:

Date() //用当前时间初始化实例。

Date(long date) // date
为毫秒

Date(int year, int month,int day)

二.方法:

setTime(long date) // date 为毫秒,设置时间

long getTime() //转换为毫秒数

static Date valueOf(String s) //转换字符串格式的日期为Date

三.相关类SimpleDateFormat

用于格式化日期,在java.text包中

1.构造函数:

SimpleDateFormat(String FormatString);

参数FormatString常用样式为

y或 yy
表示年份; yyyy 表示世纪和年份

m 或MM
表示月份

d 或dd 表示天

H 或HH
表示小时

m 或 mm
表示分

s 或ss
表示秒

E 表示字符串输出的星期

2.操作方法:

2.1. 根据构造函数中的格式将Date对象输出为字符串。

String format(Date d);

例如:

SimpleDateFormatsf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Dated=new Date();

StringDateString=sf.format(d); //返回类似的日期 2005-08-07 07:10:24

四.相关类DateFormat

用于格式化日期,在java.text包中

1.静态方法

DateFormat getDateTimeInstance(int dateStyle,inttimeStyle,Locale alocal)

该方法用于获得一个DateFormat实例.

dateStyle日期类型,通常取常数DateFormat.LONG

timeStyle时间类型,通常取常数DateFormat.LONG

alocal 地区常数,通常取常数Locale.CHINA(中国),Locale.US(美国)

2 . 实例方法

String format(Date d)
用格式去格式化参数Date 对象,并返回字符串.

例如:

DateFormat df=DateFormat.getDateTimeInstance(DateFormat.LONG,

DateFormat.LONG,Locale.CHINA);

System.out.println(df.format(newDate())); //按中国格式显示日期时间

Calendar 类

本类提供了月历功能,但这些功能都是由其子类GregorianCalendar实现的。

一.GregorianCalendar类的常用方法:

1.构造函数:

GregorianCalendar();
用当前系统日期初始化对象

2.方法:

2.1. 获得日期的各个部分

int get(int field)
返回与field相关的日期,field是Calendar中定义的常数(见静态字段)

例如:get(Calendar.MONTH)
返回月份(1月份,返回0,2月份,返回1,。。。)

2.2. 修改日期的各个部分

void set(intfield,int value)
将field表示的日期替换为value值

例set(Calendar.YEAR,2000);将年份设定为2000年

2.3. 重新设置新的日期

final voidset(int year,int value) //设置年/月/日的值为value

final voidset(int year,int month,int date) //设置年月日

final voidset(int year,int month,int date, int hour,int minute) //设置年月日时分秒

final voidset(int year,int month,int date, int hour,int minute,int second)

设置年月日时分秒和毫秒

2.4. 获得对象毫秒数

longgetTimeInMillis();

例:

GregorianCalendargre=new
GregorianCalendar(); //获得实例

Stringnow=gre.get(Calendar.YEAR)+"-"+gre.get(Calendar.MONTH)+"-"+

gre.get(Calendar.DATE)+""+gre.get(Calendar.HOUR_OF_DAY)+":"+

gre.get(Calendar.MINUTE)+ ":"+gre.get(Calendar.SECOND);

System.out.println(now);//显示当前日期时间

二.Calendar类

1.获得Calendar实例

Calendar Calendar.getInstance();
返回一个Calendar实例

2.方法:

2.1. 转换为其它类型

Date getTime(); //获得日期

long getTimeMillis() //转换为毫秒

2.2. 增加日期的某个部分

voidadd(int field,int amount)
将field代表的内容增加amount

2.3. 返回field
表示日期部分的最大值

intgetMaximum(int field)返回field的最大值

2.4. 设置日期

setTime(Date date) //设置日期

三.静态字段:

YEAR, MONTH , DATE(DAY_OF_MONTH) 分别表示年月日

HOUR MINUTE SECOND,MILLISECOND 分别表示时分秒和毫秒,HOUR
为12小时制

HOUR_OF_DAY表示一天中的第几时(为24小时制)

DAY_OF_YEAR 表示一年中的第几天

WEEK_OF_YEAR
表示一年中的第几周

WEEK_OF_MONTH
表示一月中的第几周

DAY_OF_WEEK
表示一周中的第几天(1 表示星期日,2
表示星期一,。。。)

例:获得当前日期和时间

Calendarcal=Calendar.getInstance();

intyear=cal.get(Calendar.YEAR); //

intmonth=cal.get(Calendar.MONTH)+1;

intday=cal.get(Calendar.DAY_OF_MONTH);

StringsDate=year+"-"+month+"-"+day+""+cal.get(Calendar.HOUR)+":"+

cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND);

System类

static System. arraycopy(Object[] src,int srcPos,Object dest,intdestPos,int length)

从源对象数组src的srcPos位置开始取长度为length个元素拷贝到目标数组中

dest 中,并从destPost位置开始存放。

static System.currentTimeMillis();
获得当前时间的毫秒数

static System.out.print(Object obj);
输出任意对象的字符串表示

static System.out.println(Object obj);
输出任意对象的字符串表示,并换行。

Time类和TimerTask类

一.概述:

所在包:java.util

这两个类通常配合完成只执行一次或周期性重复执行的任务。

TimerTask类提供实际要执行的任务。一个实际的任务必须从这个类扩展,并覆盖run
方法(要完成的任务在该方法中实现);

Timer类通过后台线程调度任务,使任务得以执行。

二.Timer类

常用构造方法:

Timer()

Timer(String name)

常用操作方法:

schedule(TimerTask task,intdelayRunTime,int interval)

task 任务类或其子类

delayRunTime
第一次运行时间(相对于方法该方法调用后), ms

interval
任务被重复执行的时间间隔,ms

cancel();//停止时钟

三.TimerTask类

常用构造方法:

TimerTask(int maxCounter,Timer aTimer)

maxCounter任务被执行的总次数

aTimer Timer对象

常用操作方法:

run() 必须被子类覆盖的方法(用于要执行的任务)

cancel();//停止任务

四.程序设计要点:

0. 首先从TimerTask扩展一个自己的类

class MyTimerTask extends TimerTask{

privateint maxNumberOfTimesToRun=0;//任务被执行的总次数

privateTimer myTimer=null;

public MyTimerTask(int maxCounter,TimeraTimer){

super();

maxNumberOfTimesToRun=maxCounter;

myTimer=aTimer

}

//覆盖父类的方法

publicvoid run(){

//要执行的任务代码

}

}

1. 启动Timer运行

1.1. 获得一个Timer实例

1.2. 获得TimerTask实例

1.3. 调用schedule()方法使Timer运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: