vlambda博客
学习文章列表

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) 。。。//falseif (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;// 数学常量epublic 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.javapublic 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