1、包装类的概述

  · 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

  · 常用的操作之一:用于基本数据类型与字符串之间的转换

  · 基本类型和包装类的对应

  为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型。包装类类型。
  byte      Byte
  short    Short 
  int     Integer  
  long    Long 
  float    Float
  double   Double
  char    Character  
  boolean   Boolean
 
2、Integer类
 
/**
* Integer的构造方法:
* public Integer(int value)
* public Integer(String s)
* 注意:这个字符串必须是由数字字符组成
*/
public class IntegerDemo01{
public static void main(String[] args) {
//方式一:
int i =100;
Integer ii = new Integer(i);
System.out.println("ii:"+ii); //ii:100
//方式二:
String s = "100";
Integer iii = new Integer(s);
System.out.println("iii:"+iii); //iii:100
}
}

 
成员方法:
 
public class IntegerDemo02 {
public static void main(String[] args) {
//输出100的二进制,八进制和十六进制
System.out.println(Integer.toBinaryString(100)); //
System.out.println(Integer.toOctalString(100)); //
System.out.println(Integer.toHexString(100)); //
System.out.println(Integer.MAX_VALUE); //
System.out.println(Integer.MIN_VALUE); //-2147483648
}
}

3、int类型和String类型的相互转换

  · public int intValue():以int类型返回该Integer的值            
  · public static int parseInt(String s):将字符串参数作为有符号的十进制整数进行解析           
  · public static String toString(int i):返回一个表示指定整数的String对象           
  · public static Integer valueOf(int i):返回一个表示指定的int值的Integer实例           
  · public static Integer valueOf(String s):返回一个表示指定的String值的Integer实例
//int --> String : String.valueOf(int)
//String --> int : Integer.paraseInt(String)
public class IntegerDemo03 {
public static void main(String[] args) {
//int --> String
int num = 100;
//方式一:
String s1 = "" + num;
System.out.println("s1:" + s1);
//方式二:推荐
String s2 = String.valueOf(num);
System.out.println("s2:"+s2);
//方式三:
//int --> Integer --> String
String s3 = new Integer(num).toString();
System.out.println("s3:"+s3);
//方式四:
String s4 = Integer.toString(num);
System.out.println("s4:"+s4);
System.out.println("----------------");
//String --> int
//方式一:String --> Integer --> int
//public int intValue();
String s = "100";
Integer i = new Integer(s);
int i1 = i.intValue();
System.out.println("i1:"+i1);
//方式二:Integer.paraseInt(s):推荐
int i2 = Integer.parseInt(s);
System.out.println("i2:"+i2);
}
}
 
4、常用的基本进制转换
  A:十进制转成二进制,八进制和十六进制
    · public static String toBinaryString(int i)            
    · public static String toOctalString(int i)            
    · public static String toHexString(int i)       
  B:十进制到其他进制            
    · public static String toString(int i,int radix)           
    范围是从2到36
        C:其他进制到十进制            
    · public static int parseInt(String s,int radix)
public class IntegerDemo04 {
public static void main(String[] args) {
//十进制到二进制,八进制,十六进制
System.out.println(Integer.toBinaryString(100)); //
System.out.println(Integer.toOctalString(100));//
System.out.println(Integer.toHexString(100)); //64
//十进制到其他进制
System.out.println(Integer.toString(100, 10)); //
System.out.println(Integer.toString(100,2)); //
System.out.println(Integer.toString(100,36)); //2s
System.out.println(Integer.toString(100, 37)); //100
//其他进制到十进制
System.out.println(Integer.parseInt("100",10)); //
System.out.println(Integer.parseInt("100",2)); //4
//报错,因为二进制中没有2,3
//System.out.println(Integer.parseInt("123",2));
}
}
 
5、JDK5的新特性:
    自动装箱:把基本类型转成包装类类型
    自动拆箱:把包装类类型转成基本类型
       Integer x = new Integer(4);可以直接写成    Integer x = 4;//自动装箱。    
  x  = x + 5;//自动拆箱。通过intValue方法。    
 需要注意:    
  在使用时,Integer  x = null;上面的代码就会出现NullPointerException。
public class IntegerDemo05 {
public static void main(String[] args) {
//定义了一个int类型的包装类类型变量i
//Integer i1 = new Integer(100);
Integer i2 = 200;
i2 += 300;
System.out.println("i2:"+i2);
//通过反编译后的代码
//Integer i2 = Integer.valueOf(200); //自动装箱
//i2 = Integer.valueOf(i2.intValue() + 200);
//System.out.println((new StringBuilder("i2:")).append(i2).toString());
}
}
 
6、Integer直接赋值的面试题
    注意:Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里直接获取数据
public class IntegerDemo06 {
public static void main(String[] args) {
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2); //false
System.out.println(i1.equals(i2)); //true
System.out.println("---------------");
Integer i3 = new Integer(128);
Integer i4 = new Integer(128);
System.out.println(i3 == i4); //false
System.out.println(i3.equals(i4)); //true
System.out.println("---------------");
Integer i5 = 128;
Integer i6 = 128;
System.out.println(i5 == i6); //false
System.out.println(i5.equals(i6)); //true
System.out.println("---------------");
Integer i7 = 127;
Integer i8 = 127;
System.out.println(i7 == i8); //true
System.out.println(i7.equals(i8)); //true
Integer i = Integer.valueOf(127);
//通过查看源码,针对-128到127之间的数据做了一个数据缓冲池,
//如果一个数据是在该范围内的,每次都并不创建新的空间,
//如果不在这个范围里面的就会创建新的对象
// public static Integer valueOf(int i) {
// assert IntegerCache.high >= 127;
// if (i >= IntegerCache.low && i <= IntegerCache.high)
// return IntegerCache.cache[i + (-IntegerCache.low)];
// return new Integer(i);
}
}
 
 
 
 
 

Java API ——包装类的更多相关文章

  1. 泛型接口、JAVA API、包装类

    泛型接口就是拥有一个或多个类型参数的接口 语法: public interface 接口名<类型形参>{ 方法名(类型形参 类型形参实例); } 示例: public interface ...

  2. Java API 快速速查宝典

    Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...

  3. 浅谈Java的包装类

    一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...

  4. mybatis Java API

    既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDBC 相比, MyB ...

  5. Java数据持久层框架 MyBatis之API学习八(Java API详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  6. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  7. MyBatis——Java API

    Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDB ...

  8. Mybatis学习--Java API

    学习笔记,选自Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/java-api.html#directoryStructure 既然你已经知道如何配 ...

  9. Java-MyBatis: MyBatis3 | Java API

    ylbtech-Java-MyBatis:  MyBatis3 | Java API 1.返回顶部 1. Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升 ...

随机推荐

  1. POJ 2528 Mayor’s posters

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37982   Accepted: 11030 ...

  2. Windows Phone使用sliverlight toolkit实现页面切换动画效果

    使用应用时,好多app在页面切换的时候都有一个动画效果,感觉很炫,也大大增加了用户体验,怎么实现呢? 界面的切换,可以用Windows Phone Toolkit中的TransitionService ...

  3. Eclipse中将项目导出jar包,以及转化成exe的方法

    Eclipse中将项目导出jar包,以及转化成exe的方法 http://wenku.baidu.com/view/385597f07c1cfad6195fa7c6.html

  4. web网页的表单排版利器--960css

    表单排版样式 960css 前言 一般web网页的表单排版,大家都习惯用table排版,自己需要根据实际需要去定义TR和TD,很多时候对于TD的高宽度.是否合并行,合并列,都要去做一些处理,这些都是比 ...

  5. oracle分页与rownum

    Oracle分页(limit方式的运用) Oracle不支持类似于 MySQL 中的 limit. 但你还是可以rownum来限制返回的结果集的行数. 第一种 select * from a_matr ...

  6. 内核升级修复nfs

    Not starting NFS kernel daemon: no support in current kernel. sudo gedit /etc/init.d/nfs-kernel-serv ...

  7. AWS--EC2基本概念

    原文:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html EC2:Elastic Compute Cloud 特性包括: ...

  8. oracle 绿色版本 instantclient 使用说明

    1,将instantclient直接放到D盘根目录 2,注册表修改 3,点击工具>>首选项, 在Oracle主目录名中输入“D:\instantclient_10_2\”,在OCI库中输入 ...

  9. 【postgresql】创建自增SEQUENCE

    CREATE SEQUENCE circlefence_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; alte ...

  10. Sharepoint delegate control

    <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://sch ...