有关包装类拆箱、装箱和整型与字符串型之间的转换

原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5462489.html

1、8种基本数据类型都有各自的包装类,其对应关系为:

    基本————————————包装类
    byte————————————Byte
    short———————————Short
    char————————————Char
    int————————————Integer
    long————————————Long
    float————————————Float
    double———————————Double
    boolean——————————Boolean

2、自动装拆箱与手动装拆箱

  1)自动拆装箱:

    (1)自动装箱:Integer in = 123;

    (2)自动拆箱:int t = in;

  2)手动拆装箱:

    (1)手动装箱:Integer in1 = new Integer(123);

    (2)手动拆箱:int t1 = in1.intValue();

  3)Integer in1 = new Integer(123);与Integer in = 123;的区别:

    (1)前者不会触发自动装箱,后者会触发自动装箱;

    (2)一般情况下,在执行效率和资源占用上后者要优于第一种,但不是绝对。

3、将基本数据类型的数据包装成为包装类后,就可以利用包装类的各种方法,这里面最常用的就是对数据类型的转换,而其中最常用的还是整型与字符串型之间的转换:

  1)整型转换成为字符串型:假如定义:int i = 123;

    (1)String s1 = i + "";    //第一种方法

    (2)String s2 = Integer.toString(i);    //第二种方法

    (3)String s3 = String.valueOf(i);    //第三种方法

  2)字符串型转换成为整型:假如定义:String s = "456";

    (1)int i1 = Integer.valueOf(s);    //第一种方法

    (2)int i2 = Integer.parseInt(s);    //第二种方法

3、Integer类型的方法:toString()、toString(int i)、valueOf(int i)、valueOf(String str)

    (1)toString()方法:返回一个表示该Integer值得String对象,这是一个非静态方法,需要用对象名引用。

    (2)toString(int i)方法:返回一个表示指定整数(i)的String对象,这是一个静态方法,使用类名Integer点用。

    (3)valueOf(int i)方法:返回一个表示指定int值的Integer对象,这是一个静态方法,使用类名Integer点用。

    (4)valueOf(String str)方法:返回一个表示指定String的值的Integer对象,此为静态方法,使用类名Integer点用。

下面是测试代码:

 1 package lianxi;
 2
 3 /**
 4  * @author V1haoge
 5  */
 6 public class Test183 {
 7
 8     public static void main(String[] args) {
 9
10         int a = 1;
11         String str = "123";
12         Integer b = a;  //自动装箱
13         int c = b;//自动拆箱
14         Integer d = new Integer(a);  //手动装箱
15         int e = d.intValue();//手动拆箱
16
17
18         /*
19          * 实验int类型与String类型之间的互转
20          */
21         //int转换String
22         int i = 123;
23         //转换开始
24         String s1 = i+"";//第一种方法
25         String s2 = String.valueOf(i);//第二种方法
26         String s3 = Integer.toString(i);//第三种方法
27         //下面用于输出转换结果
28         System.out.println(s1);
29         System.out.println(s2);
30         System.out.println(s3);
31         //String转换int
32         String s = "456";
33         //开始转换
34         int i1 = Integer.valueOf(s);//第一种方法
35         int i2 = Integer.parseInt(s);//第二种方法
36         //下面输出转换结果
37         System.out.println(i1);
38         System.out.println(i2);
39
40     }
41
42 }

显示结果为:

123
123
123
456
456

时间: 2024-10-04 22:42:23

有关包装类拆箱、装箱和整型与字符串型之间的转换的相关文章

拆箱装箱 页面跳转 及内存管理 0905蓝懿教育

拆箱装箱 数组中只能装入对象,而很多时候我们需要把类似Int 或者结构体这种装入 此时我们需要进行拆装 基本思想是 把类似int还有结构体 转换成相对应的对象 然后加入数组 ,导出时 要从对象型变成对应的int或者结构体类 @property NSmutableArray *ages; self.ages=[NSmutableArray  Array]; int x=1; NSnumber *objectnumber=x; [self.ages addobject:objectnumber];

java自动拆箱装箱易导致的两个错误

自J2SE 5.0开始提供的基本数据类型的自动装箱(autoboxing).拆箱(unboxing)功能. 何为自动装箱: 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i = 100; ) 实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = new Integer(100); 此即基本数据类型的自动装箱功能. 何为自动拆箱 自动拆箱(unboxing),也就是将对象中的基本数据从对象中自动取出.如下可实现自动拆箱

WPF中多线程统计拆箱装箱和泛型的执行效率

WPF中多线程统计拆箱装箱和泛型的执行效率,使用的知识点有泛型.多线程.委托,从例子中可以看到使用泛型的效率至少提升2倍 MainWindow.xaml <Window x:Class="Box.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xa

WPF中多线程统计拆箱装箱和泛型的运行效率

WPF中多线程统计拆箱装箱和泛型的执行效率.使用的知识点有泛型.多线程.托付.从样例中能够看到使用泛型的效率至少提升2倍 MainWindow.xaml <Window x:Class="Box.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xa

拆箱装箱

1.      装箱和拆箱是一个抽象的概念 2.      装箱是将值类型转换为引用类型 :拆箱是将引用类型转换为值类型       利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来 例如: int val = 100; object obj = val; Console.WriteLine (“对象的值 = {0}", obj); 这是一个装箱的过程,是将值类型转换为引用类型的过程 int val = 100; object obj =

java学习笔记——自动拆箱装箱(Autoboxing&amp;Unboxing)

一.基本类型打包器 1.基本类型:long.int.double.float.boolean 2.类类型:Long.Integer.Double.Float.Boolean 区别:基本类型效率更高,类类型的对象却可以携带更多的信息. public class TestInteger01 { public static void main(String[] args) { int a = 10; int b = 20; Integer A = new Integer(a); Integer B =

关于Java自动拆箱装箱中的缓存问题

1 package cn.zhang.test; 2 /** 3 * 测试自动装箱拆箱 4 * 自动装箱:基本类型自动转为包装类对象 5 * 自动拆箱:包装类对象自动转化为基本数据类型 6 * 7 * 8 * /*缓存问题*/ 9 /*缓存[-128,127]之间的数字,也就是一个byte,实际上是系统在初始的时候创建了一个范围在[-128,127]之间的一个数组 10 * 当我们调用valueOf的时候,首先判断该数字是否在[-128,127]之间,如果在,则在数组中拿出该对象,侧面印证了数组

JAVA高级特性--自动拆箱-装箱,枚举类型

基本数据类型转换为引用类型对象 一个自动装箱的例子 Integer i=10; 相当于 Integer i=new Integer(10); 一个自动拆箱的例子 Integer m=10; int n=m; 相当于n=m.intValue(); 枚举类型 所有枚举类型都继承了Enum类 枚举值都是public  static final 的  ,也就是常量,因此枚举值应大写 枚举构造器都是私有化的 //当jvm去加载使用枚举类的时候,会预先创建多个枚举类型的对象供外部使用 public stat

以php中的自增自自减运算符操作(整型,浮点型,字符串型,布尔型,空类型)数据

1 // 环境 2 // 3 // php版本 4 // PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS ) 5 // Copyright (c) 1997-2017 The PHP Group 6 // Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies 7 // with Zend OPcache v7.0.33-0+deb9u1, Copyrig