Java基础之——包装类的基本使用
概述
在Java中不能定义基本类型对象,为了将基本类型视为对象进行处理,Java位每个基本类型都提供了包装类,这样就可以把这些基本类型转换位对象来处理了
Java可以直接处理基本类型,但某些情况下需要将其视为对象来处理,这时就需要将其转换为包装类
基本类型 | 对应的包装类(位于java.lang包中) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Interger
java.lang包中的Integer、Long、Short类可以将int、long、short封装为一个类
这三个类都是Number的子类
- Integer类在对象中包装了一个基本类型int的值
- 该类还提供了多个方法,能在int和String之间互相转换
构造方法
- Integer(int number):Integer number = new Integer(1)
- Integer(String str):Integer number = new Integer(“1”)
这里需要使用数值型String变量作为参数,否则会抛出NumberFormatException异常
常用方法
方法 | 返回值 | 功能描述 |
---|---|---|
byteValue() | byte | 以byte类型返回Integer的值 |
compareTo(Integer num) | int | 在数字上比较两个Integer对象,相等返回0,大于num返回正值,小于num返回负值 |
equals(Object obj) | boolean | 比较相等 |
intValue() | int | |
shortValue() | short | |
toString() | String | |
valueOf(String str) | Integer | 返回保存指定的String值的Integer对象 |
parseInt(String str) | int | 返回包含在由str指定的字符串中的数字的等价整数值 |
常量
- MAX_VALUE:int类型的最大值,2^31 - 1
- MIN_VALUE:int类型的最小值,-2^31
- SIZE:以二进制补码形式表示int值的位数
- TYPE:表示基本类型int的Class实例
Boolean
Boolean类将基本类型为boolean的值包装在一个对象中
构造方法
- Boolean(boolean value):Boolean b = new Boolean(true)
- Boolean(String str):Boolean bool = new Boolean(“ok”)
参数不为null且在忽略大小时等于true
常用方法
方法 | 返回值 | 功能描述 |
---|---|---|
boolean Value() | boolean | 将Boolean对象的值以对应的boolean值返回 |
equals(Object obj) | boolean | |
parseBoolean(String s) | boolean | 将字符串参数解析为boolean值 |
toString() | String | |
valueOf(string s) | boolean | 返回一个用指定的字符串表示值得boolean值 |
常量
- TRUE:对应基值true得Boolean对象
- FALSE:对应基值false得Boolean对象
- TYPE:基本类型boolean的Class对象
Character
构造方法
- Character(char value)
常用方法
方法 | 返回值 | 功能描述 |
---|---|---|
charValue() | char | 返回此Character对象的值 |
compareTo(Character c) | int | 比较 |
equals(Object obj) | Boolean | |
toUpperCase(char ch) | char | |
toLowerCase(char ch) | char | |
toString() | String | |
isUpperCase(char ch) | boolean | 判断指定字符是否为大写 |
isLowerCase(char ch) | boolean | 判断指定字符是否为小写 |
常量
- CONNECTOR_PUNCTUATION:返回byte值,表示Unicode规范中的常规类别“Pc”
- UNASSIGNED:返回byte值,表示Unicode规范中的常规类别“Cn”
- TITLECASE_LETTER:返回byte值,表示Unicode规范中的常规类别“Lt”
转义序列
转义序列 | 描述 |
---|---|
\t | 在文中该处插入一个tab键 |
\b | 在文中该处插入一个后退键 |
\n | 在文中该处换行 |
\r | 在文中该处插入回车 |
\f | 在文中该处插入换页符 |
' | 在文中该处插入单引号 |
" | 在文中该处插入双引号 |
\ | 在文中该处插入反斜杠 |
public class Test {
public static void main(String args[]) {
System.out.println("访问\"菜鸟教程!\"");
}
}
装箱与拆箱
基本类型与对应的包装类对象之间,来回转换的过程称为装箱与拆箱
- 装箱:基本类型 –> 包装类对象
- 拆箱:包装类对象 –> 基本类型
装箱
- Integer a = new Integer(10)
自动装箱:直接将int赋值给Integer变量
- Integer b = 10
拆箱
- int c = a.intValue()
自动拆箱:直接将Integer赋值给int变量
- int k = b
String与基本类型的转换
- 基本类型=>字符串
- 1、加双引号
- 2、使用toString方法
- 3、使用valueOf方法
int a = 100;
//1、加双引号
String s = a + "";
//2、使用toString方法
String s = Integer.toString(int value);
//3、使用valueOf方法
String s = String.valueOf(int value);
- 字符串=>基本类型
String s = "123";
int a = Integer.parseInt(s);
byte b = Byte.parseByte(s);
short t = Short.parseShort(s);
int i = Integer.parseInt(s);
long l = Long.parseLong(s);
float f = Float.parseFloat(s);
double d = Double.parseDouble(s);
//将二进制形式的字符串转换为十进制整数
String str = "111";
int tmp = Inter.parseInt(str, 2);