黑马程序员技术交流社区
标题:
数值,字符,布尔对象与简单类型的操作
[打印本页]
作者:
H_shaohui
时间:
2016-4-14 20:33
标题:
数值,字符,布尔对象与简单类型的操作
与
C
等其它语言不同的是数值的范围不随平台的改变而改变,
这就保证了平台之间的统一性,提高了可移植性。
Number:
Number
本身是个抽象类,
不能直接使用,
所有直接从
Number
继承下来的子类都有以下几种方法:
Ø
byte byteValue()
返回字节值
Ø
double doubleValue()
返回
double
值
Ø
float floatValue()
返回
float
值
Ø
int intValue()
返回
float
值
Ø
long longValue()
返回
long
值
Ø
short shortValue()
返回
short
值
在需要通过
Object
来取得简单数据类型的值的时候就得用到以上的方法,
不过我不推荐不同类型之间的取值,
比如
Long
型的
Object
不要直接去调用
intValue()
,精度可能会丢失。
如果想通过
String
来得到一个数值类型的简单类型值,
一般在每个
Number
的类里面都有一个
parseXXX(String)
的静态方法,
如下:
Ø
byte Byte.parseByte(String s)
Ø
double Double.parseDouble(String s)
Ø
float Float.parseFloat(String s)
Ø
int Integer.parseInt(String s)
Ø
long Long.parseLong(String s)
Ø
short Short.parseShort(String s)
如果想直接从
String
得到一个
Number
型的
Object
,则每个
Number
类里面都有
valueOf(String s)
这个静态方法。如:
Ø
Byte Byte.valueOf(String s)
Ø
Double Double.valueOf(String s)
Ø
Float Float.valueOf(String s)
Ø
Integer Integer.valueOf(String s)
Ø
Long Long.valueOf(String s)
Ø
Short Short.valueOf(String s)
一般的在构造一个
Number
的时候都可以通过一个
String
来完成,
比如:
Long longObject = new Long(“1234567890”);
等价于
Long longObject = Long.valueOf(“1234567890”);
因为每个
Number
的子类都实现了
Object
的
toString()
方法,
所以,
如果想得到一个
String
型的数值,
直接调用
XXX.toString()
就可以了。
如果想得到一个简单类型的
String
,
方法很多总结如下:
Ø 首先生成对应的
Number Object
类型,
然后调用
toString()
Ø 调用
Number
子类
.toString(type t)
其中
t
就是简单类型的数据。
Ø 调用
String.valueOf(type t)
(推荐使用这种方法)
大家可以看出,
往往一种结果可以用多种方法实现,
总的原则就是深度最少优先。比如由一个
String
得到一个简单类型的值可以有以下两种方法:
Integer.parseInt(“12345”);
或
(new Integer(s)).intValue(“12345”);
我们当然应该使用第一种方法。
Character:
Character
对应着
char
类型,
Character
类里面有很多静态的方法来对
char
进行判断操作,
在此不一一讲述,
详细的操作请参照
JDK API
。
需要提醒的是,
Java
对字符的判断操作基本都是以
Unicode
进行的,
比如
Character.isDigit(char ch)
这个方法,
不光半角的
0-9
符合要求,
全角的日文
0-9
也是符合要求的。
Boolean:
Boolean
对应着
boolean
类型,
boolean
只有
true
和
false
两个值,
不能与其它数值类型互换,
可以通过字符串
”true”
以及
”false”
来得到
Object
的
Boolean
,
也可以通过简单类型的
boolean
得到
Boolean
,
常用方法如下:
Ø
Boolean(boolean value)
通过简单类型的
boolean
构造
Boolean
Ø
Boolean(String s)
通过
String(“true”, “false”)
构造
Boolean
Ø
boolean booleanValue()
由
Object
的
Boolean
得到简单类型的
boolean
值
Ø
boolean equals(Object obj)
覆盖了
Object
的
.equals
方法,
Object
值比较
Ø
static Boolean valueOf(String s)
功能与构造函数
Boolean(String s)
一样
作者:
15614014298
时间:
2016-4-14 21:03
学习了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2