赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 手持终端

首页 > 专业技术 > 手持终端 > Java的常用类
Java的常用类

java.lang和java.util两个包中有一些常用的类,主要包括String、StringBuffer、Math、Integer、Sysytem、Runtime和时间日期类等。

1.字符串处理类:

在Java中,字符串是作为内置对象进行处理的,java.lang包中有两个专门的类用来处理字符串,分别是String和StringBuffer,还有一个StringToknizer在java.util包中。其中String和StringBuffer类都被声明为final,不能被用户自定义的类继承。

1)String类:

String类定义了定长、不可变的字符序列,Java程序中的所有字符串常量都作为此类的实例来实现。一旦赋值,便不能改变其指向的字符串对象,如果更改则会指向一个新的字符串对象。
String类有多种构造方法,参数为空的构造方法是默认的。示例:
String str=new String();
也可以创建含有初始值的字符串对象:
char[] chars={'H','I'};
String s=new String(chars);
可以指定字符数组的一部分创建字符串对象:
char[] chars={'W','e','I','c','o','m','!'};
String s1=new String(chars,3,3);
可以构造一个与另一个String对象有相同字符序列的String对象:
String s2=new String(s1);
更常见的方法是使用字符串常量来创建:
String s3="Wang";

2)字符串的长度:

指其所包含的字符的个数,使用String的length()方法来得到此值。

3)字符串连接:

使用+运算符可以连接两个字符串,可以使用一连串的+将多个字符串连接成一个字符串。字符串可以与基本类型的数据连接而成为新的字符串。

4)charAt()方法截取字符串得到一个字符:

ch="abc".charAt(1);

5)截取多个字符getChar()方法:

void getChars(int sourceStart,int sourceEnd,chat target[],int targetStart);
从字符数组的指定起始位置截取组成字符串。

6)getBytes()方法:

使用平台的默认字符集将此字符串编码为byte序列,并将结果存储到一个新的byte数组中,提供了多个重载方法,可以用来解决中文乱码的问题。

7)toCharArray()方法:

将字符串对象转换为一个字符数组。

8)字符串比较操作:

·equals():比较两个字符串是否相等,如果两个字符串具有相同的字符和长度返回true
·equalsIgnoreCase():忽略大小写进行字符串比较
·startsWith():判断给定的字符串是否从一个指定的字符串开始
·endsWith():判断给定的字符串是否以一个指定的字符串结尾
·compareTo():判断字符串的大小关系
注意,使用==号比较字符串,是判断两个字符串是否指向同一个对象。

9)字符串搜索:

·indexOf():用来搜索字符或子字符串首次出现的位置
·lastindexOf():用来搜索字符和子字符串最后一次出现的位置

10)字符串修改:

包括字符串中的字串、字串之间的连接、替换字符串中的某个字符、消除字符串的空格等。
·substring():用来得到字符串中的子串
·concat():用来连接两个字符串,与+功能一致
·replace():用来替换字符串
·trim():用来去除字符串前后多余的空格
因为字符串是不能修改的对象,上述修改产生的是新的字符串,用来的字符串不变。

11)valueOf()方法:

将简单数据类型转换为String类型,并可以把Object类和字符数组转换为字符串。

12)toString()方法:

返回一个String对象,该对象包含描述类中对象的可读的字符串。toString()方法是在Object类中定义的,任何类都具有这个方法。

2.StringBuffer类:

StringBuffer类表示变长的可写的字符序列,可以完成字符串的动态添加、插入和替换等操作。当没有指定缓冲区大小时,StringBuffer类会分配16个附加字符空间。

1)append()方法:

使用此方法可以向已经存在的StringBuffer对象追加任何类型的数据。如果添加的字符超出了字符串缓冲区的长度,将自动进行扩充。

2)length()方法和capacity()方法:

调用length()方法可以得到StringBuffer的长度,调用capacity()方法可以得到总的分配容量。

3)ensureCapacity()方法和setLength()方法:

ensureCapacity()方法确保字符串容量至少等于指定的最小值,新容量的大小应大于minimumCapacity和2*旧容量+2中的最大值。
使用setLength()方法设置字符序列的长度。增加缓冲区大小时空字符被加在现存缓冲区的后面,用小于length的值设置长度会使新长度之后的字符丢失。

4)insert()方法:

用来将一个字符串插入另一个字符串中,可以接收所有简单类型的值及Object、String和CharSequence对象的引用。

5)reverse()方法:

将StringBuffer对象内的字符串进行翻转。

3.时间日期类:

1)Date类:

Date类封装当前的日期和时间,java.util包中有一个Date,里面的方法逐渐被弃用,而被Calendar的相应方法所取代,java.sql包中的Date是前面的子类,用来描述数据库中的时间字段。常用的方法有:
·after():
·before():
·clone():
·compareTo():比较两个日期的顺序
·equals():比较两个日期的相等性,精确到毫秒
·getTime():返回自1970年1月1日00:00:00GMT以来的毫秒数
·setTime():设置,以表示自1970年1月1日00:00:00GMT以来的毫秒数
·toString():转换为字符串形式

2)Calendar类:

是一个抽象类,提供了一组方法,允许以毫秒为单位的时间转换成一组有用的分量。Calendar没有公共的构造方法,不能使用new,而要以静态方法getInstance得到一个Calendar对象,然后调用相应的方法。常用方法有:
·after():时间晚于指定的日期则返回true
·before():时间早于指定的日期则返回true
·get():返回调用对象的分量值,示例Calendar.YEAR,Calendar.MONTH,Calendar.MINUTE
·getInstance():对默认的地区和时区返回一个Calendar对象
示例:
Calendar calendar=Calender.getInstance();
System.out.print(months[calendar.get(Calendar.MONTH)];

3)DateFormat类:

DateFormat是对日期/时间进行格式化的抽象类,格式化分析日期或时间,该类位于java.text包中。DateFormat是抽象类,不能使用new,要通过工厂类的方法返回实例:
DateFormat df=DateFormat.getDateInstance();
DateFormat df=DateFormat.getDateInstance(DateFormat.SHORT,Local.CHINA);
DateFormat提供了很多方法,可以获得多种格式的日期/时间,格式化风格包括FULL、LONG、MEDIUM、SHORT等。使用DateFormat类型可以在日期时间和字符串之间进行转换,把字符串转换成一个Date对象使用parse()方法:
DateFormat df=DateFormat.getDateTimeInstance();
Date date=df.parse("2017-05-21");
也可以把一个Date对象转换成一个字符串,使用format()方法:
String strDate=df.format(new Date());
使用getTimeInstance可获得该国家的时间格式,使用getDateTimeInstance可获得日期时间格式。

4)SimpleDateFormat类:

是DateFormat的子类,如果希望定制日期时间数据格式,SimpleDateFormat类以对local敏感的方式对日期和时间进行格式化和解析。其format方法可将Date转换为String,而parse方法将String转换为Date。

4.Math类:

Math类是java.lang中的一个类,保留了一些常用的数学函数,是Java中的数学工具包。Math中定义的属性和方法都是静态的,常用方法为:
·abs():绝对值
·ceil():返回最接近的大整数
·floor():返回最接近的小整数
·max():最大值
·min():最小值
·rint():返回最接近的n个整数
·round():最接近的整数
·random():产生0.0到1.0之间的随机数
其他还有三角函数、反三角函数、指数函数等。

5.随机数处理类Random:

java.util包中包含Random类,可以生成任何类型的随机数。方法有:
·next(int bits):生成下一个伪随机数,其中参数为位数
·nextBoolean():返回一个随机布尔值
·nextDouble():返回下一个伪随机数,0.0到1,0之间的均匀分布的double值
·nextInt():生成一个随机整数,整数占32位
·nextInt(int n):返回一个在0和指定值之间的均匀分布的伪随机整数
·setSeed(long seed):使用单个long种子设置此随机数生成器

6.System类:

System类在java.lang包中,提供了标准的输入/输出,定义的方法和属性都是静态的。有3个静态属性in、out、error,分别对应标准输入流、标准输出流、标准错误输出流。常用方法有:
·arraycopy方法:将任意类型的数组快速地从一个地方复制到另一个地方,比java循环快
·currentTimeMillis方法:用来记录程序执行的时间,执行前后各执行一次计算时间差值
·getProperties方法:得到当前系统的属性
·setProperties方法:设置系统的属性
·getProperty方法:得到指定键key的系统属性
·setProperty方法:利用指定键key和值value设置系统的属性

7.RunTime类:

RunTime类在java.lang包中,封装了运行时环境。一般不实例化该类的对象,而是调用其静态方法getRunTime来获得对当前RunTime对象的引用,然后调用该类提供的方法去控制Java虚拟机的状态和行为。
Java提供了无用单元自动收集机制,通过totalMemory和freeMemory方法可以知道对象内存的大小及剩余,调用gc方法可以根据需要运行无用单元收集器。
使用exec方法可以在多任务操作系统中让Java去执行其他进程。

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659