解析java中的包装类
1 内容
8大基本数据类型是不能通过.去调用方法和属性的,为了实现这一功能,java就弄了8大基本数据类型所对应的8种包装类(引用类型)
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
2 基本数据类型与包装类之间的转换
2.1 基本数据类型变成包装类(自动装箱---->直接赋值即可)
2.1.1 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
int a=10;
Integer b=a;
System.out.println(b);
}
}
2.1.1 示例代码运行截图
2.2 包装类变成基本数据类型(自动拆箱---->直接赋值即可)
2.2.1 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
Integer m=15;
int n=m;
System.out.println(n);
}
}
2.2.2 示例代码运行截图
3 基本数据类型与String类之间的转换
3.1 基本数据类型转换成String类
3.1.1 方法
使用String.valueOf(基本数据类型)即可
3.1.2 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
int m=123;
String str=String.valueOf(m);
System.out.println(str);
}
}
3.1.3 示例代码运行截图
3.2 String类转换成基本数据类型
3.2.1 方法
使用对应的包装类类名.parse基本数据类型(String str)方法即可
注意:该方法中的基本数据类型的首字母需要大写(遵循小驼峰命名法)
3.2.2 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
String str="666";
int value=Integer.parseInt(str);
System.out.println(value);
}
}
3.2.3 示例代码运行截图
4.包装类与String类之间的转换
4.1 包装类转换成String类
4.1.1 方法
使用String.valueOf(基本数据类型)即可
4.1.2 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
Integer m=123;
String str=String.valueOf(m);
System.out.println(str);
}
}
4.1.3 示例代码运行截图
4.2 String类转换成包装类
4.2.1 方法一
使用对应的包装类类名.parse基本数据类型(String str)方法即可
注意:虽然返回值为int,但是还是能接收成功,因为发生了自动装箱
4.2.2 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
String str="789";
Integer value=Integer.parseInt(str);
System.out.println(value);
}
}
4.2.3 示例代码运行截图
4.2.4 方法二
使用包装类的静态方法: 包装类类名.valueof(String str)
注意:这个有一个重载方法也可以传入int类型的数据,实现基本数据类型与包装类之间的转换
4.2.5 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
String str="12345678";
Integer value=Integer.valueOf(str);
System.out.println(value);
}
}
4.2.6 示例代码运行截图
5 特殊
5.1 数值型数据类型只要不是纯数字,转换成String类型都会报数字格式化异常
5.1.1 错误示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
String str="12345678ab";
Integer value=Integer.valueOf(str);
System.out.println(value);
}
}
5.1.2 错误示例截图
5.2 布尔包装类的静态方法 parseBoolean
5.2.1 原理
该方法对传入字符串不做要求,只要传入的不是true(不区分大小写)这种字符串的话,返回的值都是false,否则就返回true
5.2.2 示例代码
package Work;
public class Test05 {
public static void main(String[] args) {
boolean b1=Boolean.parseBoolean("true123");
boolean b2=Boolean.parseBoolean("tRue");
boolean b3=Boolean.parseBoolean("trueab");
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
}
}