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. 一些值得思考的"小题"一

    如下是我们查找数组中某个元素的一种通常做法 const int *Find(const int *array, int length, int x) { const int *p = array; ; ...

  2. springMVC整合memcached

    非原创,文章转自:http://www.cnblogs.com/xiaoqingxin/p/4132391.html 文章我就不全copy了,摘抄下我关注的部分,想看原文的请移步上面文章链接 appl ...

  3. sql 查询练习

    1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100 ...

  4. 【原】web页面登陆验证

    using Itcast.Mall.Model; using System; using System.Collections.Generic; using System.Linq; using Sy ...

  5. php微信支付(仅pc端扫码支付模式二)详细步骤.----仅适合第一次做微信开发的程序员

    本人最近做了微信支付开发,是第一次接触.其中走了很多弯路,遇到的问题也很多.为了让和我一样的新人不再遇到类似的问题,我把我的开发步骤和问题写出来,以供参考. 开发时间是2016/8/10,所以微信支付 ...

  6. php截取字符串的实例代码(支持utf-8)

    分享下php中截取字符串的例子,支持utf-8格式. 1,截取字符串 <?php $string="2006年4月我又长大了一岁!"; echo substr($string ...

  7. Review PHP设计模式之——单例模式

    单例模式: class Single { private static $_instance; private function __construct(){ //define method as p ...

  8. 破解网络投票IP限制、验证码限制、COokie限制、Seesion限制的方法!(转)

    顾名思义,网络投票就是在网络上进行的投票活动,但和其他类型的投票不同的是:网络投票是建立在网络投票系统上的,而结果完全由程序输出,无需人工参与.这既是网络投票系统的优点也是其缺点,没有了人工的参与,其 ...

  9. VB 核心编程及通用模块开发 笔记1

    前言:学习任何编程语言.编程工具的目的不外乎解决生活问题,能够快速.高效解决问题的方式就是不错的方式,至于选择什么“工具”,众位看官看着办,本人虽然有过3年vb开发经验,但是一直没有深入学习,现已购买 ...

  10. Python数据结构——二叉树的实现

    1. 二叉树 二叉树(binary tree)中的每个节点都不能有多于两个的儿子. 1.1 二叉树列表实现 如上图的二叉树可用列表表示: tree=['A', #root ['B', #左子树 ['D ...