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. 利用AVL树实现搬箱问题的best fit策略

    //my.h //定义两个数据类型,货物Goods,箱子Box #include <vector> #include <cstddef> #include <iostre ...

  2. CCNA第一讲笔记

    园区网:一组连续的局域网(校园网.企业内部网) 园区网拓扑: 一层楼的PC连接到一台交换机(同一层的PC可以互联):一栋楼的每层的交换机连接到同一台交换机(整栋楼的PC可以互联):每栋楼的交换机连接到 ...

  3. Winform DataGridView单元格的提示信息

    往往当单元格的内容过多时,显示会变成这样 后缀多了几个点来显示数据未完,当鼠标移到某个单元格时,单元格里的内容会全部显示. 今天偶然发现了一个可以修改提示信息的方法,所以先记下来. 这个方法,可以对于 ...

  4. input属性disabled和readonly的区别

    两种属性的写法如下: 1.<input type="text" name="name" value="xxx" disabled=&q ...

  5. 常用mysql命令大全

    常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...

  6. RabbitMQ基础总结

    MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消 息传递指的是程序之 ...

  7. Clone中存在的浅克隆问题

    A.java package second; public class A { String country;//国家 String province;//地区 String city;//城市 pu ...

  8. fineui框架

    http://fineui.com/demo/#/demo/layout/fit.aspx 虽然比较丑陋,但功能实用 此框架比较简单, 框架的作用你懂的,重点是要有帮助文档, 进阶型的容易上手的帮助文 ...

  9. 【BZOJ 2440】[中山市选2011]完全平方数

    Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是 ...

  10. uxpin books

    http://uxpin.com/knowledge.html/?utm_source=Email+Marketing+Automation&utm_campaign=80d94e146a-l ...