1.概述
基本类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
2.装箱与拆箱
装箱:基本类型转换为对应的包装类对象
构造方法:
Integer(int value) :构造一个新分配的Integer,来表示指定的int值
Integer(String s):构造一个新分配的Integer对象,他表示String参数指定的int值。
【注意】传递的字符串s必须是基本类型的字符串,否则会抛异常。如"100"正确,"a"则错误
静态方法:
static Integer valueOf(int i):返回一个指定的int值的Integer实例
static Integer valueOf(String s):返回保存指定的String的值的Integer对象
拆箱:从包装类对象转换为对应的基本类型
成员方法
int intValue():以int类型返回该Integer的值
package integer.demo1;
/**
* 装箱:基本类型转换为对应的包装类对象
* 构造方法:
* Integer(int value) :构造一个新分配的Integer,来表示指定的int值
* Integer(String s):构造一个新分配的Integer对象,他表示String参数指定的int值。
* 【注意】传递的字符串s必须是基本类型的字符串,否则会抛异常。如"100"正确,"a"则错误
* 静态方法:
* static Integer valueOf(int i):返回一个指定的int值的Integer实例
* static Integer valueOf(String s):返回保存指定的String的值的Integer对象
* 拆箱:从包装类对象转换为对应的基本类型
* 成员方法
* int intValue():以int类型返回该Integer的值
*/
public class Demo01Integer {
public static void main(String[] args) {
//装箱:基本类型转换为对应的包装类对象
//构造方法
Integer in1 = new Integer(1);
System.out.println(in1);
Integer in2 = new Integer("10");
System.out.println(in2);
//静态方法
Integer in3 = Integer.valueOf(2);
System.out.println(in3);
Integer in4 = Integer.valueOf("20");//注意这里的参数只能是基本类型的数据,不能是"a"这样子的非基本类型的
System.out.println(in4);
System.out.println("============");
//拆箱:从包装类对象转换为对应的基本类型
int i1 = in1.intValue();
System.out.println(i1);
int i2 = in2.intValue();
System.out.println(i2);
}
}
运行结果
3.基本类型与字符串类型之间的转换
3.1基本类型转换成字符串类型
基本类型 --> 字符串类型String
法1:基本类型的值+" ",最简单的方法,工作中常用(3 --> “3”)
法2:包装类的静态方法toString(参数),不是Object类的toString()方法重载
法3:String类的静态方法valueOf(参数)
static String valueOf(int i) //返回int参数的字符串表示形式
3.2字符串类型转换成基本类型
字符串String --> 基本类型
法1:使用包装类的静态方法parseXxx(“字符串”):
//Integer类型:
static int parseInt(String s)
//Double类型:
static double parseDouble(String s)
案例说明
package integer.demo1;
/**
* 字符串与基本类型相互转换
*/
public class Demo02Integer {
public static void main(String[] args) {
//基本类型 --> 字符串类型String
int n1 = 100;
String s1 = n1 + "";
System.out.println(s1+200); //100200,结果不是300,说明已经变成了String字符串类型了
System.out.println("========");
String s2 = Integer.toString(100);
System.out.println(s2+200);//100200
System.out.println("============");
String s3 = String.valueOf(100);
System.out.println(s3+200);//100200
System.out.println("=========");
//字符串String --> 基本类型
int i1 = Integer.parseInt(s1);
System.out.println(i1-10); //90,即100-10,说明已经将s1变成了int类型了
System.out.println("========");
double d2 = Double.parseDouble(s2);
System.out.println(d2-10.0); //90.0
}
}
运行结果