读书人

JavaSE07Java惯用类库

发布时间: 2012-12-19 14:13:14 作者: rapoo

JavaSE07—Java常用类库
JavaSE07—Java常用类库

1.String类和StringBuffer类

String类用于比较两个字符串,查找和抽取串中的字符或子串,进行字符串与其他类型之间的相互转换等。String类对象的内容一旦被初始化就不能再改变。
StringBuffer类用于内容可以改变的字符串,可以将其他各种类型的数据增加,插入到字符串中,也可以转置字符串中原来的内容。一旦通过StringBuffer生成了最终想要的字符串,就应该用StringBuffer.toString()方法将其转换成String类。
2.基本数据类型的包装类

Java对数据既提供基本数据的简单类型,也提供了相应的包装类。
Integer int
Character char
Float float
Double double
Byte byte
Long long
Short short
Boolean boolean

使用Integer类中的parseInt()方法,讲一个字符串转换成基本数据类型:

class  IntegerDemo{public static void main(String[] args) {String a = "123";int i = Integer.parseInt(a);i++;System.out.println(i);}}
3.System类与Runtime类

exit(int status)方法,提供终止虚拟机的运行。对于发生了异常情况而想终止虚拟机的运行,传递一个非零值作为参数。弱在用户正常操作下终止虚拟机的运行,则传递零值作为参数。
getProperties方法是获得当前虚拟机的环境属性。没一个属性都是变量与值以成对的形式出现。
4.Date,Calendar,DateFormat类

Date类用于表示日期和时间,最简单的构造方法是Date(),它以当前的日期和时间初始化一个date对象。
Calendar类是一个抽象类,主要完成日期字段之间相互操作的功能。
下面是一个计算出据当前日期时间360天后的日期的时间的例子:

public class CalendarDemo{public static void main(String[] args){Calendar c1 = Calender.getInstance();System.out.println(c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+"月"+c1.get(c1.DAY_OF_MONTH)+"日"+c1.get(c1.HOUR)+":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));c1.add(c1.DAY_OF_YEAR,360);System.out.println(c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+"月"+c1.get(c1.DAY_OF_MONTH)+"日"+c1.get(c1.HOUR)+":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));}}
5.Math与Random类
Math类包含了所有用于集合和三角的浮点运算方法,这些方法都是静态的。
Random类是一个随机数产生器,随机数是按照某种算法产生的,一旦用一个初值创建Random对象,就可以得到一系列的随机数。
下面例子利用Random类来产生5个0~100之间的随机整数
public class RandomDemo{public static void main(String[] args){Random r = new Random();for(int i=0;i<5;i++)System.out.println(r.nextInt(100)+"\t");}}


6.对象克隆

Java.lang.Cloneable 接口和含有clone方法的Object类,所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。
1)实现Cloneable接口
改写Object类中的clone()方法。
2)改写Object类中的clone()方法
由于JDK中Object类中的clone()方法的声明是:
Protected native Object clone() throws CloneNotSupportedException;
clone()方法的修饰符为protected,而不是public。这种访问的不可见性使得用户对clone()方法不可见,就必须要进行改写。

一个例子:
class Employee implements Cloneable{private String name;private int age;public Employee(String name,int age){this.name = name;this.age = age;}public Object clone() throws CloneNotSupportedException{return super.clone();}public String toString(){return "姓名:"+this.name+",年龄"+this.age;}public int getAge(){return age;}public void setAge(int age){this.age = age;}public String getName(){return name;}public void setName(String name){this.name = name}}public class CloneDemo{public static void main(String[] args){Employee e1 = new Employee("张三",21);Employee e2 = null;try{e2 = (Employee) e1.clone();}catch(CloneNotSupportedException e){e.printStackTrace();}e2.setName("李四");e2.setAge(30);System.out.println("两个对象的内存地址比较:"+(e1==e2));System.out.println(e1);System.out.println(e2);}}

读书人网 >编程

热点推荐