分享
 
 
 

Java语言深入:对java.lang的研究上

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

正如你所知道的那样,Java.lang被自动导入所有的程序。它所包含的类和接口对所有实际的Java程序都是必要的。它是Java最广泛使用的包。

java.lang包括了下面这些类:

Boolean Long StrictMath (Java 2,1.3)

Byte Math String

Character Number StringBuffer

Class Object System

ClassLoader Package (Java 2) Thread

Compiler Process ThreadGroup

Double Runtime ThreadLocal (Java 2)

Float RuntimePermission (Java 2) Throwable

InheritableThreadLocal (Java 2) SecurityManager Void

Integer Short

另外还有两个由Character定义的类:Character.Subset和Character.UnicodeBlock,它们是在Java 2中新增加的。

java.lang也定义了如下的接口:

Cloneable

Comparable

Runnable

其中Comparable接口是在Java 2中新增加的。

java.lang中的几个类包含了过时的方法,其中的大多数可以追溯到Java 1.0。在Java2中仍然提供了这些方法,用于支持逐渐减少的老程序,而这些方法在新程序中不被推荐使用。大多数的过时方法出现在Java 2之前,因此在这里不讨论这些方法。而在Java 2中出现的那些过时的方法将被提及。

Java 2也在java.lang包中增加了几个新的类和方法,这些新类和方法被说明如下

1、简单类型包装器

在本书的第1部分,我们提到因为性能的原因,Java使用简单的类型,例如整型(int)和字符(char)。这些数据类型不是对象层次结构的组成部分。它们通过值传递给方法而不能直接通过引用传递。而且,也没有办法使两种方法对整型(int)引用同一实例(same instance)。有时需要对这些简单的类型建立对象表达式。例如在第15章中讨论的仅仅处理对象的枚举类;假如要将简单类型存储到这些类中的一个,需要在类中包装简单类型。为了满足这种需要,Java提供了与每一个简单类型相应的类。本质上,这些类在类中包装(wrap)简单类型。因此,它们通常被称作类型包装器(wrappers)。

1.1、Number

抽象类Number定义了一个由包装数字类型字节型(byte),短整型(short),整型(int),长整型(long),浮点型(float)和双精度型(double)的类实现的超类。Number有返回上面不同数字格式的对象值的抽象方法。也就是,doubleValue( )方法返回双精度(double)值,floatValue( )方法返回浮点(float)值等。这些方法如下:

byte byteValue( )

double doubleValue( )

float floatValue( )

int intValue( )

long longValue( )

short shortValue( )

这些方法的返回值可以被舍入。

Number有6个具体的子类包含了6种数字类型的显式值:双精度型(Double),浮点型(Float),字节型(Byte),短整型(Short),整型(Integer)和长整型(Long)。

1.2、Double和Float

双精度(Double)和浮点(Float)分别是对类型double和类型float的浮点值的包装器。浮点(Float)构造函数如下所示:

Float(double num)

Float(float num)

Float(String str) 引发NumberFormatException异常

正如你所看到的,浮点(Float)对象可以由类型float或类型double的值创建。它们也能由浮点数的字符串表达式创建。

双精度(Double)构造函数如下:

Double(double num)

Double(String str) 引发NumberFormatException异常

双精度(Double)对象可以被双精度(double)值或包含了浮点值的字符串创建。

由浮点(Float)定义的方法在表14-1中列出。由双精度(Double)定义的方法在表14-2中列出。浮点(Float)和双精度(Double)都定义了下面的常数:

MAX_VALUE 最大正值

MIN_VALUE 最小正值

NaN 非数字

POSITIVE_INFINITY 正无穷

NEGATIVE_INFINITY 负无穷

TYPE 浮点(float)或双精度(double)的类(Class)对象

表1 由Float定义的方法

方法 描述

byte byteValue() 返回调用对象的值(字节型)

int compareTo(Float f) 将调用对象的数值与f中的数值进行比较,假如两者相等,返回0。假如调用对象的值小于f的值,则返回负值。假如调用对象的值大于f的值,则返回正值(在Java 2中新增加的)

int compareTo(object obj) 当obj是类Float中的对象时,该方法与compareTo(Float)的功能相同。否则,引发一个ClassCastException异常(在Java 2中新增加的)

double doubleValue() 返回调用对象的值(双精度型)

boolean equals(Object FloatObj) 假如float调用对象与FloatObj相等,则返回true。否则返回false

static int float ToIntBits(float num) 返回与num相应的与IEEE兼容的单精度位模式

Float floatValue() 返回调用对象的值(浮点型)

int hashCode() 返回调用对象的散列值

static float intBitsToFloat(int num) 返回由num指定的,与IEEE兼容的单精度位模式的等价浮点(float)值

int intValue() 返回整型(int)形式的调用对象值

boolean isInfinite() 假如调用对象包含有无穷大值,则返回true。否则返回false

static boolean isInfinite(float num) 假如num指定了一个无穷大值,则返回true。否则返回false

boolean isNaN() 假如调用对象中包含了非数字值,则返回true。否则返回false

static boolean isNaN(float num) 假如num指定了一个非数字值,则返回true。否则返回false

long longValue() 返回调用对象的值(长整型)

static float parseFloat(String str) throws NumberFormatException 以10为基数,返回包含在由str指定的字符串中的数字的等价浮点值(在Java 2中新增加的)

short shortValue() 返回调用对象值(短整型)

String toString() 返回调用对象的等价字符串形式

static String to String(float num) 返回由num指定的值的等价字符串

static Float valueOf(String str) throws NumberForamtException 返回包含了由str中的字符串指定的值的float对象

表2由Double定义的方法

方法 描述

byte byteValue() 返回调用对象的值(字节型)

int compareTo(Double d) 将调用对象的值与d的数值进行比较。假如这两个值相等,则返回0。假如调用对象的数值小于d的数值,则返回负值。假如调用对象的数值大于d的数值,则返回正值(在Java 2中新增加的)

Int compareTo(Object obj) 假如obj属于类Double,其操作与compareTo(Double)相同。否则,引发一个ClassCastException异常(在Java 2中新增加的)

static long doubleToLongBits(double num) 返回与num相应的与IEEE兼容的双精度位模式

double doubleValue() 返回调用对象的值(双精度)

boolean equals(Object DoubleObj) 假如double调用对象与DoubleObj相等,则返回true。否则,返回false

float floatValue() 返回调用对象的值(浮点型)

int hashcode() 返回调用对象的散列码

int intValue() 返回调用对象的值(整型)

boolean isInfinite() 假如调用对象包含了一个无穷大值,则返回true。否则,返回false

static boolean isInfinite(double num) 假如num指定了一个无穷大值,则返回true。否则,返回false

boolean is NaN() 假如调用对象包含了一个非数字值,则返回true。否则,返回false

static boolean isNaN(double num) 假如num指定了一个非数字值,则返回true。否则,返回false

static double longBitsToDouble(long num) 返回由num指定的,与IEEE兼容的双精度位模式的双精度(double)等价值

long longValue() 返回调用对象的值(长整型)

static double parseDouble(String str) throws NumberFormatException 以10为基数,返回包含在由str指定的字符串中的数字的等价双精度(double)形式(在Java 2中新增加的)

short shortValue() 返回调用对象的值(短整型)

String toString() 返回调用对象的等价字符串形式

Static String toString(double num) 返回由num指定的值的等价字符串形式

Static Double valueOf(String str) throws NumberFormatException 返回包含了由str中的字符串指定的值的double对象

在下面的例子中创建两个double对象--一个通过使用双精度(double)值实现,另一个通过传递一个可以被解析为双精度(double)的字符串来实现。

class DoubleDemo {

public static void main(String args[]) {

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有