这里就用Integer做示例其它类型都一样
1.基本用法:
package com.su;
/*
* 包装类
* 基本数据类型--> 包装类
* byte Byte
* short Short
* int Integer *
* long Long
* float Float
* double Double
* char Character *
* boolean Boolean
*
*
* 基本数据类型-->引用类型 :装箱
* 引用类型-->基本数据类型 :拆箱
*
* 包装类:
* 基本数据类型-->包装类
* 包装类-->基本数据类型
* String -->基本数据类型
* 基本数据类型 -->String
*
* Integer int类型包装类
* Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。
* 字段摘要
static int MAX_VALUE
值为 231-1 的常量,它表示 int 类型能够表示的最大值。
static int MIN_VALUE
值为 -231 的常量,它表示 int 类型能够表示的最小值。
static int SIZE
用来以二进制补码形式表示 int 值的比特位数。 bit
构造方法摘要
Integer(int value) int --->Integer
构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s) String -->Integer
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
方法
int compareTo(Integer anotherInteger)
在数字上比较两个 Integer 对象。
int intValue() Integer --> int
以 int 类型返回该 Integer 的值。
String toString() Integer-->String
返回一个表示该 Integer 值的 String 对象。
static String toString(int i)
返回一个表示指定整数的 String 对象。
static String toString(int i, int radix)
返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
static int parseInt(String s) String --> int
将字符串参数作为有符号的十进制整数进行解析。
static int parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
other-->Integer
static Integer valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s)
返回保存指定的 String 的值的 Integer 对象。
static Integer valueOf(String s, int radix)
返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
* */
public class Demo2 {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);//2^31-1
System.out.println(Integer.MIN_VALUE);//-2147483648 -2^31
System.out.println(Integer.SIZE);//32
System.out.println(Short.MAX_VALUE);//32767
/*
* Integer(int value) int --->Integer
构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s) String -->Integer
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
* */
System.out.println("------");
Integer in1 = new Integer(12);
System.out.println(in1);
in1 = new Integer("123");//NumberFormatException 必须是数字的字符串形式才可以转换
System.out.println(in1);
/*
* int compareTo(Integer anotherInteger)
在数字上比较两个 Integer 对象。
int intValue() Integer --> int
以 int 类型返回该 Integer 的值。
* */
System.out.println(new Integer(5).compareTo(new Integer(10)));
//Integer --> int 拆箱
int num = in1.intValue();
//Integer-->String int --> String
/*String toString() 返回一个表示该 Integer 值的 String 对象。 调用方法的对象转成String形式
*static String toString(int i) 返回一个表示指定整数的 String 对象。 将int参数转换成String形式
*/
//String -->int
/* static int parseInt(String s) String --> int &&&&
将字符串参数作为有符号的十进制整数进行解析。*/
int a = Integer.parseInt("12");
System.out.println(a);
// other-->Integer $$$$
/* static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。*/
Integer i1 = Integer.valueOf(1);
i1 = Integer.valueOf("12");
System.out.println("----------");
/*
* 进制转换
static String toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
static String toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
static String toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
static String toString(int i, int radix)
返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
static int parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
static Integer valueOf(String s, int radix)
返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
* */
//十进制--->其他进制字符串形式
System.out.println(Integer.toBinaryString(100));//1100100 十进制 -->二进制
System.out.println(Integer.toOctalString(100));// 144 十进制 -->八进制
System.out.println(Integer.toHexString(100));//64 100十六进制的形式
//将第一个参数转换成第二个参数进制的表示形式
System.out.println(Integer.toString(100, 8));//十进制的100转成8进制形式
//其他进制 --->十进制
System.out.println(Integer.parseInt("6a",16));//把第一个参数字符串6a当成16进制的数,将其转换成10进制然后输出
System.out.println(Integer.valueOf("100", 36));//第二个参数可以表示进制数 0-9,a-z 参数范围: 2 - 36 超过的报错
//NumberFormatException: radix 37 greater than Character.MAX_RADIX
System.out.println(Integer.toString(100, 3));//十进制的100转成8进制形式 2-36 超过范围当成十进制处理
}
}
2.类型之间的转换
package com.sy;
public class Demo3 {
public static void main(String[] args) {
//String --> int
int a = Integer.parseInt("12"); //*
//int -- >String
String s = Integer.toString(12);
int b = 15;
String s1 = b + "";
//Integer --> String
Integer i1 = new Integer(23);
String s2 = i1.toString();//任何对象toString other -->String
String s3 = String.valueOf(new Integer(25));//* other -->String
//String--> Integer
Integer i3 = Integer.valueOf("56");//*
Integer i4 = new Integer("56");
//Integer --> int 拆箱
Integer i5 = new Integer(23);
int c = i5.intValue();//拆箱
//int --> integer 装箱
Integer i7 = Integer.valueOf(5);
Integer i6 = new Integer(5);
//JDK1.5之后提供了自动装箱和自动拆箱的机制
//Integer i8 = 15;//自动装箱
//int f = i8;//自动拆箱
Integer i = new Integer(1);
//i = 1 -->i + 2
i = i + 2;//先把i拆箱1 + 2 = 3,之后将3装箱
/*//假如没有自动装箱和拆箱机制
//1、拆箱
int g = i.intValue();
//2、加2
g += 2;//g = 3
//3、装箱
i = Integer.valueOf(g);
System.out.println(i);*/
}
}