概述
一、基本数据类型和包装类之间的转化
1、基本数据类型 to 包装类
public void test1() {
//1.通过构造器,构造器参数加上双引号也可以,但双引号内容要与对应包装类类型一致
Integer i1 = new Integer(12);//i1 = 12
Integer i2 = new Integer("12");//i2 = 12
//Integer i2 = new Integer("12adfa");//报错
Float f1 = new Float("12.3F");//i3 = 12.3
//Float f1 = new Float("12.3abc");//报错
System.out.println("i1=" + i1 + " i2=" + i2 + " f1=" + f1);
//特殊对于Boolean,当参数是"ture"返回true,其他返回false
Boolean b1 = new Boolean("abc");//b1 = false
Boolean b2 = new Boolean("true");//b2 = true
System.out.println("b1=" + b1 + " b2=" + b2);
//但不加双引号时,只能写false或true,其他会报错
//Boolean b3 = new Boolean(abc);//报错
Boolean b3 = new Boolean(false);//b3 = false
Boolean b4 = new Boolean(true);//b4 = true
System.out.println("b3=" + b3 + " b4=" + b4);
//包装类默认值是null
Order o = new Order();
//2.通过valueOf方法,传递参数可以是字符串也可以是对应类型数据
Integer i3 = Integer.valueOf(30);//i3 = 30
//3.自动包装的方法,详见Test3()
System.out.println("no.i1=" + o.i1 + " o.i2=" + o.i2 +
"no.d1=" + o.d1 + " o.d2=" + o.d2 +
"no.b1=" + o.b1 + " o.b2=" + o.b2 +
"ni3=" + i3);
}
class Order {
int i1;//i1 = 0
Integer i2;//i2 = null
double d1;//d1 = 0.0
Double d2;//d2 = null
boolean b1;//b1 = false
Boolean b2;//b2 = null
}
运行结果:
变量 | 变量值 |
---|---|
i1 | 12 |
i2 | 12 |
f1 | 12.3 |
b1 | false |
b3 | false |
b4 | true |
o.i1 | 0 |
o.i2 | null |
o.d1 | 0.0 |
o.d2 | null |
i3 | 30 |
2、包装类 to 基本数据类型
public void test2() {
Integer i1 = new Integer(14);
Float f1 = new Float(12.3F);
//1.调用包装类的XxxValue()方法
int i2 = i1.intValue();//i2 = 14
float f2 = f1.floatValue();//f2 = 12.3
//2.通过自动拆包,详见Test3()
System.out.println("i2=" + i2 + " f2=" + f2);
}
运行结果:
变量 | 变量值 |
---|---|
i2 | 14 |
f2 | 12.3 |
3、自动装箱拆箱
public void test3() {
Boolean b1 = false;
//1.自动装箱
Integer i1 = 15;//i4 = 15
//Boolean b1 = "ada";//报错
//Integer i1 = "15";//报错
//2.自动拆箱
int i2 = i1;//i2 = 15
System.out.println("i1=" + i1.intValue() +
" b1=" + b1.booleanValue() +
" i2=" + i2);
}
运行结果:
变量 | 变量值 |
---|---|
i1 | 15 |
b1 | false |
i2 | 15 |
二、基本数据类型、包装类与String类之间的转化
1、基本数据类型、包装类 to String类
public void test4() {
int i1 = 2;
Boolean b1 = true;
//1.基本数据类型 + ""
String s1 = i1 + "";//s1="2"
//2.调用String类的静态的重载的valueOf()方法(从目标类里找方法)
String s2 = String.valueOf(i1);//s2 = "2"
String s3 = String.valueOf(b1);//s3 = "true"
System.out.println("s1=" + s1 +
" s2=" + s2 +
" s3=" + s3);
}
运行结果:
变量 | 变量值 |
---|---|
s1 | 2 |
s2 | 2 |
s3 | true |
2、String类 to 基本数据类型、包装类
public void test5() {
String str1 = "12";
String str2 = "true";
//调用目标包装类的parseXxx(String str)方法或者valueof()方法 (同上,从目标类里找方法)
int i1 = Integer.parseInt(str1);//i1 = 12
int i2 = Integer.valueOf(str1);//i2 = 12
boolean b1 = Boolean.parseBoolean(str2);//b1 = true
System.out.println("i1=" + i1 + " b1=" + b1 + " i2=" + i2);
}
运行结果:
变量 | 变量值 |
---|---|
i1 | 12 |
b1 | true |
i2 | 12 |
三、parseXxx()和valueOf(),toString()的区别
1、parseXxx( ):比如说parseInt( )就是把String类型转化为int类型
如:
String a= "123";
int b = Integer.parseInt(a);
这样b就等于123了
2、ValueOf( ):比如说 Integer.valueOf( ) 是把String类型 或者 int类型 转化为Integer类型 ( 注意:是Integer类型,而不是int类型 )
如:
Integer c =Integer.valueOf("123");
Integer d =Integer.valueOf(15);
这时候c = 123、d = 15
3、toString( )可以把一个引用类型转化为String字符串类型
Integer a = new Integer(123);
String b =a.toString();
这时候b就是 “123” 了
如有错误,欢迎指正
最后
以上就是甜甜天空为你收集整理的Java包装类(Wrapper)、基本数据类型、String类之间的转换的全部内容,希望文章能够帮你解决Java包装类(Wrapper)、基本数据类型、String类之间的转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复