基本类型包装类
基本类型包装类概述:将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法,操作该数据
常用的操作之一:用于基本数据类型与字符串之间的转换
基本类型包装类也有八种,如下表
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
基本类型包装类的练习
x
package ch12;
public class a_7_1测试 {
public static void main(String[] args) {
//Integer类。在java.lang下,但使用的时候可以不导包,因为:Integer类的继承体系,即Integer继承了Number,Number继承了Object
//所以Integer间接继承了Object
//Integer类。是最终类,即没有子类。实现了Comparable<Integer>接口
//Integer类。包装了int类型的值,即是int类型的包装类。该类提供了将int和String互相转换的方法
//MIN_VALUE和MAX_VALUE的源码
//public static final int MIN_VALUE
//public static final int MAX_VALUE
//输出int的范围
System.out.println(Integer.MIN_VALUE); //-2^31,即-2147483648
System.out.println(Integer.MAX_VALUE); //2^31-1,即2147483647
//需求:要判断一个数据是否在int范围内
}
}
Integer包装类
Integer类的概述和使用
Integer的构造方法有两个,一个是接收一个int类型的参数,另一个是接收String类型的参数。但是这两个都已经过时了。 前者过时,建议使用静态工厂valueOf(int),因为它可能产生明显更好的空间和时间性能 后者过时,建议使用parseInt(String),将字符串转换为int原语,或使用valueOf(String)将字符串转换为Integer对象 过时原因: 被valueOf静态方法替代了
Integer:包装一个对象中的原始类型int的值,即Integer是int的包装类类型
Integer类的构造方法如下
方法名 | 说明 |
---|---|
public Integer(int value) | 根据int值创建Integer对象(过时) |
public Integer(String s) | 根据String值创建Integer对象(过时) |
public static Integer valueOf(int i) | 返回表示指定的int值的Integer实例 |
public static Integer valueOf(String s) | 返回一个保存指定值的Integer对象String |
Integer包装类的练习
xxxxxxxxxx
package ch12;
public class a_8_1测试 {
public static void main(String[] args) {
//根据int值创建Integer对象(过时)。通过构造方法得到Integer对象
Integer i1 = new Integer(101);
//因为上面是直接new出来的,所以按理下一行是输出地址信息而不是值。但是实际情况是输出了值,即验证Integer自动重写了toString方法
System.out.println(i1);
//根据String值创建Integer对象(过时)。通过构造方法得到Integer对象
Integer i2 = new Integer("102"); //字符串类型的100。只能接收数字组成的的字符串,如果这行传进"abc"就会报错
System.out.println(i2);
//返回表示指定的int值的Integer实例。通过静态方法得到Integer对象
Integer i3 = Integer.valueOf(103);
System.out.println(i3); //输出100
//返回一个保存指定值的Integer对象String。通过静态方法得到Integer对象
Integer i4 = Integer.valueOf("104"); //字符串类型的100。只能接收数字组成的的字符串,如果这行传进"abc"就会报错
System.out.println(i4);
}
}
int和String的相互转换
基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换
1、int转换为String
public static String valueOf(int i); //返回int参数的字符串表示形式。该方法是String类中的方法
2、String转换为int
xxxxxxxxxx
public static int parseInt(String s); //将字符串解析为int类型。该方法是Integer类中的方法
int和String相互转换的练习
xxxxxxxxxx
package ch12;
public class a_9_1测试 {
public static void main(String[] args) {
//int转换为String
int number = 100;
//方式1.如下
String s1 = "" + number;//原理:字符串参与加法运算其实就是字符串的连接,即整体会变成字符串。方式简单但是不专业
System.out.println(s1);
//方式2,如下。即通过静态方法实现转换
String s2 = String.valueOf(number); //原理:public static String ValueOf (int i)
System.out.println(s2);
System.out.println("-------------------");
//--------------------------------------------------------------------------------------------------
//String转换为int类型
String s = "101";
//方式1,思路:先把String转换为Integer,再把Integer转换为int类型,如下
Integer i = Integer.valueOf(s); //把String转换为Integer
int x = i.intValue(); //原理:public int intValue()
System.out.println(x);
//方式2,直接把String转换为int类型。即通过静态方法实现转换
int y = Integer.parseInt(s); //原理:public static int parseInt (String s)
System.out.println(y);
}
}