根基数据类型东西包装类 :
为便利操纵根基数据类型值,将其封装成了东西,在东西中界说了属性和行为丰富了该数据的操纵。
用于描述该东西的类就称为根基数据类型东西包装类。
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
该包装东西主要用于根基类型和字符串之间的转换;
根基类型 转成字符串 :
1. 根基类型数值 + " "
2. 用String类中的静态要领 valueOf (根基类型数值);
字符串转成根基数值:
**** 1. 使用包装类中的静态要领 xxx parseXxx( " xxx类型的字符串");
int parseInt ( " intstring " ) ;
long parseLong ( " longstring " ) ;
boolean parseBoolean ( " booleanstring " ) ;
只有 Character 没有 parse 要领
2 . 如果字符串被Integer进行东西的封装。
可使用另一个非静态的要领。 intValue ();
将一个Integer东西转成根基数据类型值。
整数具备差此外进制浮现:
十进制 转 其他进制: toBinaryString (); toOctalString ( ); toHexString( );
其它进制 转 十进制 : parseInt ( " String " , radix);
package cn.itcast.p2.wrapper.demo; public class WrapperDemo { /** * @param args */ public static void main(String[] args) { /* * 根基数据类型东西包装类。 * 为了便利操纵根基数据类型值,将其封装成了东西,在东西中界说了属性和行为丰富了该数据的操纵。 * 用于描述该东西的类就称为根基数据类型东西包装类。 * * byte Byte * short Short * int Integer * long Long * float Float * double Double * char Character * boolean Boolean * * 该包装东西主要用根基类型和字符串之间的转换。 * * 根基类型--->字符串 * 1,根基类型数值+"" * 2,用String类中的静态要领valueOf(根基类型数值); * 3,用Integer的静态要领valueO(根基类型数值); * * 字符串--->根基类型 * 1,使用包装类中的静态要领 xxx parseXxx("xxx类型的字符串");***** * int parseInt("intstring"); * long parseLong("longstring"); * boolean parseBoolean("booleanstring"); * 只有Character没有parse要领 * 2,如果字符串被Integer进行东西的封装。 * 可使用另一个非静态的要领,intValue(); * 将一个Integer东西转成根基数据类型值。 * * */ // System.out.println(Integer.MAX_VALUE); // System.out.println(Integer.toBinaryString(-6)); // int num = 4; // Integer i = new Integer(5); // int x = Integer.parseInt("123"); // System.out.println(Integer.parseInt("123")+1); // Integer i = new Integer("123"); // System.out.println(i.intValue()); /* * 整数具备差此外进制浮现。 * * 十进制-->其他进制。 * toBinaryString * toOctalString * toHexString * * 其他进制-->十进制。 * parseInt("string",radix) * */ // 十进制-->其他进制。 System.out.println(Integer.toBinaryString(60)); System.out.println(Integer.toOctalString(60)); System.out.println(Integer.toHexString(60)); // System.out.println(Integer.toString(60,16)); // 其他进制-->十进制。 // System.out.println(Integer.parseInt("3c",16)); Integer a = new Integer("89"); Integer b = new Integer(300); System.out.println(a==b); System.out.println(a.equals(b)); // System.out.println(3>3); System.out.println(a.compareTo(b)); } }
JDK 1.5 自动装箱拆箱 :
package cn.itcast.p2.wrapper.demo; public class WrapperDemo2 { /** * @param args */ public static void main(String[] args) { int num = 4; num = num + 5; Integer i = 4;//i = new Integer(4);自动装箱 简化书写。 i = i + 6;// i = new Integer(i.intValue() + 6); //i.intValue() 自动拆箱 // show(55);// Integer a = new Integer(128); Integer b = new Integer(128); System.out.println(a==b);//false System.out.println(a.equals(b));//true Integer x = 129;//jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会从头斥地空间。 Integer y = 129; System.out.println(x==y);// System.out.println(x.equals(y));//true } public static void show(Object a){//Object a = new Integer(55); System.out.println("a="+a); } }
操练 :