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);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值