Java编程基础知识:Java内置包装内
1.Java Object类详解:Object类的常用方法(equals()和getClass())
Object 是 Java 类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类是等价的。
publicclassMyClass{…}
等价于
publicclassMyClass extends Object{…}
由于 Java 中的所有类都是由 Object 类派生出来的,因此在 Object 类中定义的方法,在其他类中都可以使用,常见的方法如表 1 所示。
表1 Object类的常用方法
方法说明
Object clone()创建与该对象的类相同的新对象
boolean equals(Object)比较两对象是否相等
void finalize()当垃圾回收器确定不存在对该对象的更多引用时,对象的垃圾回收器调用该方法
Class getClass()返回一个对象运行时的实例类
int hashCode()返回该对象的散列码值
void notify()激活等待在该对象的监视器上的一个线程
void notifyAll()激活等待在该对象的监视器上的全部线程
String toString()返回该对象的字符串表示
void wait()在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待
其中,equals() 方法和 getClass() 方法在 Java 程序中比较常用。
equals() 方法
equals() 方法的作用与运算符类似,用于值与值的比较和值与对象的比较,而 equals() 方法用于对象与对象之间的比较,其使用格式如下:
boolean result=obj.equals(Object o);
其中,Obj 表示要进行比较的一个对象,o 表示另一个对象。
程序有运行的结果为:
上述代码在 validateLogin() 方法中又使用 equals() 方法将两个 String 类型的对象进行了比较,当 uname 对象与保存 admin 的 String 对象相同时,uname.equals("admin") 为 true;与此相同,当 upwd 对象与保存 admin 的 String 对象相同时,upwd.equals("admin") 为 true。当用户输入的用户名和密码都为 admin 时,表示该用户为合法用户,提示登录成功信息,否则提示用户名或密码有误的错误信息。
getClass() 方法
getClass() 方法返回对象所属的类,是一个 Class 对象。通过 Class 对象可以获取该类的各种信息,包括类名、父类以及它所实现接口的名字等。
2.Java Integer类详解
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。
Integer 类的构造方法
Integer 类中的构造方法有以下两个。
Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
例如,以下代码分别使用以上两个构造方法来获取 Integer 对象:
Integer integer1=newInteger(100);//以 int 型变量作为参数创建 Integer 对象
Integer integer2=newInteger("100");//以 String 型变量作为参数创建 Integer 对象
Integer 类的常用方法
在 Integer 类内部包含一些和 int 类型操作有关的方法,表 1 列出了这些常用的方法。
表1 Integer类中的常用方法
方法返回值功能
byteValue()byte以 byte 类型返回该 Integer 的值
shortValue()short以 short 类型返回该 Integer 的值
intValue()int以 int 类型返回该 Integer 的值
toString()String返回一个表示该 Intege r值的 String 对象
equals(Object obj)boolean比较此对象与指定对象是否相等
compareTo(Integer
anotherlnteger)int在数字上比较两个 Integer 对象,如相等,则返回 0;
如调用对象的数值小于 anotherlnteger 的数值,则返回负值;
如调用对象的数值大于 anotherlnteger 的数值,则返回正值
valueOf(String s)Integer返回保存指定的 String 值的 Integer 对象
parseInt(String s)int将数字字符串转换为 int 数值
在实际的编程过程中,经常将字符串转换为 int 类型的数值,或者将 int 类型的数值转换为对应的字符串。以下代码演示如何实现这两种功能:
String str="456";
intnum=Integer.parseInt(str);//将字符串转换为int类型的数值
inti=789;
String s=Integer.toString(i);//将int类型的数值转换为字符串
注意:在实现将字符串转换为 int 类型数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。
Integer 类的常量
Integer 类包含以下 4 个常量。
MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
MIN_VALUE:值为 -231的常量,它表示 int 类型能够表示的最小值。
SIZE:用来以二进制补码形式表示 int 值的比特位数。
TYPE:表示基本类型 int 的 Class 实例。
下面的代码演示了 Integer 类中常量的使用。
intmax_value=Integer.MAX_VALUE;//获取 int 类型可取的最大值
intmin_value=Integer.MIN_VALUE;// 获取 int 类型可取的最小值
intsize=Integer.SIZE;// 获取 int 类型的二进制位
Class c=Integer.TYPE;// 获取基本类型 int 的 Class 实例
3.Java Float类
Float 类在对象中包装了一个基本类型 float 的值。Float 类对象包含一个 float 类型的字段。此外,该类提供了多个方法,能在 float 类型与 String 类型之间互相转换,同时还提供了处理 float 类型时比较常用的常量和方法。
Float 类的构造方法
Float 类中的构造方法有以下 3 个。
Float(double value):构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。
Float(float value):构造一个新分配的 Float 对象,它表示基本的 float 参数。
Float(String s):构造一个新分配的 Float 对象,它表示 String 参数所指示的 float 值。
例如,以下代码分别使用以上 3 个构造方法获取 Float 对象:
Float float1=newFloat(3.14145);//以 double 类型的变量作为参数创建 Float 对象
Float float2=newFloat(6.5);//以 float 类型的变量作为参数创建 Float 对象
Float float3=newFloat("3.1415");//以 String 类型的变量作为参数创建 Float 对象
在 Float 类内部包含了一些和 float 操作有关的方法,见表 1。
表1 Float类中的常用方法
方法返回值功能
byteValue()byte以 byte 类型返回该 Float 的值
doubleValue()double以 double 类型返回该 Float 的值
floatValue()float以 float 类型返回该 Float 的值
intValue()int以 int 类型返回该 Float 的值(强制转换为 int 类型)
longValue()long以 long 类型返回该 Float 的值(强制转换为 long 类型)
shortValue()short以 short 类型返回该 Float 的值(强制转换为 short 类型)
isNaN()boolean如果此 Float 值是一个非数字值,则返回 true,否则返回 false
isNaN(float v)boolean如果指定的参数是一个非数字值,则返回 true,否则返回 false
toString()String返回一个表示该 Float 值的 String 对象
valueOf(String s)Float返回保存指定的 String 值的 Float 对象
parseFloat(String s)float将数字字符串转换为 float 数值
例如,将字符串 456.7 转换为 float 类型的数值,或者将 float 类型的数值 123.4 转换为对应的字符串,以下代码演示如何实现这两种功能:
String str="456.7";
floatnum=Float.parseFloat(str);//将字符串转换为 float 类型的数值
floatf=123.4f;
String s=Float.toString(f);//将 float 类型的数值转换为字符串
注意:在实现将字符串转换为 float 类型数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。
Float 类的常用常量
在 Float 类中包含了很多常量,其中较为常用的常量如下。
MAX_VALUE:值为 1.4E38 的常量,它表示 float 类型能够表示的最大值。
MIN_VALUE:值为 3.4E-45 的常量,它表示 float 类型能够表示的最小值。
MAX_EXPONENT:有限 float 变量可能具有的最大指数。
MIN_EXPONENT:标准化 float 变量可能具有的最小指数。
MIN_NORMAL:保存 float 类型数值的最小标准值的常量,即 2-126。
NaN:保存 float 类型的非数字值的常量。
SIZE:用来以二进制补码形式表示 float 值的比特位数。
TYPE:表示基本类型 float 的 Class 实例。
下面的代码演示了 Float 类中常量的使用。
floatmax_value=Float.MAX_VALUE;//获取 float 类型可取的最大值
floatmin_value=Float.MIN_VALUE;//获取 float 类型可取的最小值
floatmin_normal=Float.MIN_NORMAL;//获取 float 类型可取的最小标准值
floatsize=Float.SIZE;//获取 float 类型的二进制位
4.Java Double类
Double 类在对象中包装了一个基本类型 double 的值。Double 类对象包含一个 double 类型的字段。此外,该类还提供了多个方法,可以将 double 类型与 String 类型相互转换,同时 还提供了处理 double 类型时比较常用的常量和方法。
Double 类的构造方法
Double 类中的构造方法有如下两个。
Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。
Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。
例如,以下代码分别使用以上两个构造方法获取 Double 对象:
Double double1=newDouble(5.456);//以 double 类型的变量作为参数创建 Double 对象
Double double2=newDouble("5.456");//以 String 类型的变量作为参数创建 Double 对象
Double 类的常用方法
在 Double 类内部包含一些和 double 操作有关的方法,见表 1。
表1 Double类中的常用方法
方法返回值功能
byteValue()byte以 byte 类型返回该 Double 的值
doubleValue()double以 double 类型返回该 Double 的值
fioatValue()float以 float 类型返回该 Double 的值
intValue()int以 int 类型返回该 Double 的值(强制转换为 int 类型)
longValue()long以 long 类型返回该 Double 的值(强制转换为 long 类型)
shortValue()short以 short 类型返回该 Double 的值(强制转换为 short 类型)
isNaN()boolean如果此 Double 值是一个非数字值,则返回 true,否则返回 false
isNaN(double v)boolean如果指定的参数是一个非数字值,则返回 true,否则返回 false
toString()String返回一个表示该 Double 值的 String 对象
valueOf(String s)Double返回保存指定的 String 值的 Double 对象
parseDouble(String s)double将数字字符串转换为 Double 数值
例如,将字符串 56.7809 转换为 double 类型的数值,或者将 double 类型的数值 56.7809 转换为对应的字符串,以下代码演示如何实现这两种功能:
String str="56.7809";
doublenum=Double.parseDouble(str);//将字符串转换为 double 类型的数值
doubled=56.7809;
String s=Double.toString(d);//将double类型的数值转换为字符串
在将字符串转换为 double 类型的数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。
Double 类的常用常量
在 Double 类中包含了很多常量,其中较为常用的常量如下。
MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。
MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。
NaN:保存 double 类型的非数字值的常量。
NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。
POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。
SIZE:用秦以二进制补码形式表示 double 值的比特位数。
TYPE:表示基本类型 double 的 Class 实例。