Java 工具类及常用算法 1.java语言基础类
1.java语言基础类
java.lang Java语言的核心类库
Java是自动导入java.lang.*的
• java.util 实用工具
• java.io 标准输入/输出类库
• java.awt javax.swing 图形用户界面(GUI)的类库
• java.net 网络功能的类库
• java.sql 数据库访问的类库
Object类
(1)equals( )
简单地说,==是引用是否相等,equals是内容(含义)相等
Integer one = new Integer (1);
• Integer anotherOne = new Integer (1);
• if(one==anotherOne) 。。。//false
• if (one.equals (anotherOne)) 。。。//true
如果覆盖equals()方法,一般也要覆盖hashCode()方法
(2)getClass( )
getClass ( )方法是final方法,它不能被重载
它返回一个对象在运行时所对应的类的表示
void PrintClassName( Object obj ) {
System.out.println(“ The object’s class is “ + obj.getClass( ).getName( ) );
}
Object creatNewInstanceOf (object obj) {
return obj.getClass( ).newInstance( );
}
(3)toString( )
• toString( )方法用来返回对象的字符串表示
• 常用于显示
System.out.println ( person );
• 另外,用于字符串的加号
“current person is “ + person
• 通过重载toString ( )方法,可以适当地显示对象的信息以进行调试
(4) finalize( )
• 用于在垃圾收集前清除对象,前面已经讲述。
(5) notify( )、 notifyAll( )、 wait( )
与线程相关,以后讲解
基本数据类型的包装类
• Java的基本数据类型用于定义简单的变量和属性将十分方便,但为了
与面向对象的环境一致,Java中提供了基本数据类型的包装类
(wrapper),它们是这些基本类型的面向对象的代表。
• 与8种基本数据类型相对应,基本数据类型的包装类也有8种,分别是:
Character,Byte,Short,Integer,Long,Float,Double,Boolean。
包装类的特点
• (1)这些类都提供了一些常数
如Integer.MAX_VALUE(整数最大值), Double.NaN(非数字),Double. POSITIVE_INFINITY(正无穷)等。
• (2)提供了valueOf(String),toString()
用于从字符串转换及或转换成字符串。
• (3)通过xxxxValue()方法可以得到所包装的值
Integer对象的intValue()方法。
• (4)对象中所包装的值是不可改变的(immutable)。
要改变对象中的值只有重新生成新的对象。
• (5)toString(), equals()等方法进行了覆盖。
• 除了以上特点外,有的类还提供了一些实用的方法以方便操作。
例如,Double类就提供了parseDouble(), max, min方法等。
包装与拆包
• JDK1.5以上,有包装(boxing)及拆包(unboxing)
Integer I = 5;
即
I = Integer.valueOf(5);
• int i = I;
即 i = I.intValue();
Math类
• Math类用来完成一些常用的数学运算
• public final static double E;// 数学常量e
• public final static double PI;// 圆周率常量
• public static double abs(double a);// 绝对值
• public static double exp(double a);// 参数次幂
• ublic static double floor(double a);// 不大于参数的最大整数
• public static double IEEE remainder(double f1,double f2);// 求余
• public static double log(double a);// 自然对数
• public static double max(double a,double b);// 最大值
• public static float min(float a,float b);// 最小值
• 例:TestMath.java
• public static double pow(double a,double b);// 乘方
• public static double random();// 产生0和1(不含1)之间的伪随机数
• public static double rint(double a);// 四舍五入
• public static double sqrt(double a);// 平方根
• public static double sin(double a);// 正弦
• public static double cos(double a);// 余弦
• public static double tan(double a);// 正切
• public static double asin(double a);// 反正弦
• public static double acon(double a);// 反余弦
• public static double atan(double a);// 反正切
System类
• 在Java中,系统属性可以通过环境变量来获得
System.getProperty(String name)方法获得特定的系统属性值
System.getProperties()方法获得一个 Properties类的对象,其中包含了所
有可用的系统属性信息
• 在命令行运行Java程序时可使用-D选项添加新的系统属性
如 java –Dvar=value MyProg