包装类型(十六)
包装类型(十六)
我们已经知道,Java的数据类型分为两种,基本类型和引用类型
基本类型有:byte short int long float double char boolean
引用类型有:类和接口
引用类型可以赋值为null,但基本类型不能赋值为null
String s = null;
int n = null; //这里会报错compile error!
那么,如何把基本类型变为引用类型呢?可以考虑自定义一个类,将基础类型的值封装在内部
WrapperDemo1
package com.importc;
public class WrapperDemo1 {
private int value;
public WrapperDemo1 (int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
}
Application
package com.importc;
public class Application {
public static void main(String[] args) {
WrapperDemo1 w1 = null;
WrapperDemo1 w2 = new WrapperDemo1(3);
int n3 = w2.getValue();
System.out.println(n3);
}
}
这样就可以实现把基本类型变为一个对象,而外面的这一层包裹的类就称作包装类;实际上因为包装类十分常用,Java核心库已经帮我们提供了各种基本类型的包装类:
基本类型 | 对应的引用类型 |
---|---|
boolean | java.lang.Boolean |
byte | java.lang.Byte |
short | java.lang.Short |
int | java.lang.Integer |
long | java.lang.Long |
float | java.lang.Float |
double | java.lang.Double |
char | java.lang.Character |
我们可以不用自己定义,直接拿来使用
package com.importc;
public class WrapperDemo2 {
public static void main(String[] args) {
int a = 99;
Integer n1 = Integer.valueOf(a); //参数为int
System.out.println(n1);
String b = "99";
Integer n2 = Integer.valueOf(b); //参数为String
System.out.println(n2);
int c = n1.intValue();
System.out.println(c);
System.out.println("==========");
Double d1 = Double.valueOf("123.45");
System.out.println(d1);
}
}