从Long.ValueOf("String")与Long.parseLong("String")看JAVA包装类的封箱与拆箱
http://blog.csdn.net/flyingpig4/article/details/6362440 (网址)
1. Long.ParseLong(String)方法,将 string 参数解析为有符号十进制 long,字符串中的字符必须都是十进制数字。
2. Long.ValueOf(String) ,参数String表示,指定 String 的值的 Long 对象。该参数被解释为表示一个有符号的十
进制 long,该值与用该参数作为参数的 parseLong(java.lang.String) 方法得到的值非常相似。只是最后被转换为
一个Long的包装类。
如果数据比较大,字符串转成整数类型的,需要用long l=Long.parseLstring(s);
Java中的基本类型之间的相互转换
1. 基本类型
数据类型 大小 范围 默认值 包装类
byte(字节) 8 -128 -127 0 Byte
short(短整型) 16 -32768 -32768 0 Short
int(整型) 32 -2147483648-2147483648 0 Integer
long(长整型) 64 -9233372036854477808 -9233372036854477808 0 Long
float(浮点型) 32 -3.40292347E+38 – 3.40292347E+38 0.0f Float
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d Double
char(字符串) 16 \u0000-u\ffff’ ‘ \u0000’ Character
boolean(布尔型) 1 true/false false Boolean
void - - - Void
2. java的包装类与基本数据类型之间的区别
包装类是对象,拥有方法和字段,而基本类型不是,另外一个区别是,包装类是引用传递,而基本类型是值传递(即包装类创建的是对象,基本类型创建的是变量,变量的值存储在堆栈里,而对象存储在堆里,相比而言,堆栈更高效,这也是java保留基本类型的原因。)
3. 各个类型之间的相互转换:
注:int是16比特,把int和long转换成float时不会损失精度,反过来才会损失精度
a) 数字类型转换为字符串类型
1. 字节型整数类(byte): 转换方法 : Byte.toString(byte)
a) 例子:String str=Byte.toString(byte)
2. 短整型整数类(short):转换方法: Short.toString(short)
a) 例子:String str =Short.toString(short)
3. 整数类(int):转换方法:Integer.toString(int)
a) 例子: String str=Integer.toString(int)
4. 长整型整数类(long):转换方法:Long.toString(long)
a) 例子: String str=Long.toString(long);
5. 单精度浮点数类(float) :转换方法 : Float.toString(float)
a) 例子:String str=Float.toString(float);
6. 双精度浮点数类(double):转换方法:Double.toString(double)
a) 例子:String str =Double.toStirng(double);
b) 字符串类型转换为数字类型:
转换类型 方法 返回值类型
byte Byte.parseByte(String) byte
short Short.parseShort(String) short
int Integer.parseInteger(Stirng) int
long Long.parseLong(String) long
float Float.parseFloat(String) float
double Double.parseDouble(String) double
注:如果数据库使用的是十进制的,那么在java后台中必须使用64位大小的类型,比如说double,long都可以进行接收并且转换计算
4. java中常用数据类型之间转换的方法
a) short -----àint 转换
exp: short shortvar=0; i
intintvar=0;
shortvar=(short)intvar;
b) int-short 转换
exp: short shortvar=0;
intintvar=0;
intvar=shortvar;
c) int----String转换:
exp: intintvar=1;
Stringstringvar;
sringvar=string.valueOf(intvar);
d) float---àString转换:
exp:float floatvar =9.99f;
Stringstringvar;
Stringvar=String.valueOf(floatvar);
e) double --àString转换:
exp:double doublevar=99999999.99;
Stringstringvar;
Stringvar=String.valueOf(doublevar);
f) charàString转换:
exp: char charvar=’a’;
Stringstringvar;
Stringvar=String.valueOf(charvar);
g) String --àint ,float,long,double转换
exp: String instring=”10”;
String floatstring=”10.1f”;
Stringlongstring=”99999999.99”;
Stringdoublestring=”99999999.99”;
Inti=Integer.parseInt(intstring);
Floatf=Integer.parseInt(longstring);
Long|longlo=Long.parseLong(longstring);
Doubled=double.parseDouble(doublestring);
h) String-àbyte ,short转换
exp:String s=”0”;
Byteb=Integer.inValue(s);
Shortsh=Integer.inValue(s);
i) String -àchar转换:
exp: String s=”abc”;
Char a=s.charAt(0);
返回字符a
J) String-àboolean转换:
exp: Strings=”true”;
Booleanflag=Boolean.valueOf(“s”);