Java基础系列--包装类
原创作品,可以转载,但是请标注出处地址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点用。
下面是测试代码:
package lianxi; /**
* @author V1haoge
*/
public class Test183 { public static void main(String[] args) { int a = 1;
String str = "123";
Integer b = a; //自动装箱
int c = b;//自动拆箱
Integer d = new Integer(a); //手动装箱
int e = d.intValue();//手动拆箱 /*
* 实验int类型与String类型之间的互转
*/
//int转换String
int i = 123;
//转换开始
String s1 = i+"";//第一种方法
String s2 = String.valueOf(i);//第二种方法
String s3 = Integer.toString(i);//第三种方法
//下面用于输出转换结果
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
//String转换int
String s = "456";
//开始转换
int i1 = Integer.valueOf(s);//第一种方法
int i2 = Integer.parseInt(s);//第二种方法
//下面输出转换结果
System.out.println(i1);
System.out.println(i2); } }
显示结果为:
123
123
123
456
456
Java基础系列--包装类的更多相关文章
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...
- 2015年12月28日 Java基础系列(六)流
2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流
- Java基础系列--static关键字
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...
- Java基础系列-ArrayList
原创文章,转载请标注出处:<Java基础系列-ArrayList> 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...
- Java基础系列-Collector和Collectors
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748925.html 一.概述 Collector是专门用来作为Stream的coll ...
- Java基础系列-二进制操作
原创文章,转载请标注出处:<Java基础系列-二进制操作> 概述 Java源码中涉及到大量的二进制操作,非常的复杂,但非常的快速. Java二进制表示法 首先了解下二进制,二进制是相对十进 ...
- Java基础系列-equals方法和hashCode方法
原创文章,转载请标注出处:<Java基础系列-equals方法和hashCode方法> 概述 equals方法和hashCode方法都是有Object类定义的. publi ...
- Java基础系列-Comparable和Comparator
原创文章,转载请标注出处:<Java基础系列-Comparable和Comparator> 一.概述 Java中的排序是由Comparable和Comparator这两个接 ...
- Java基础系列--HashMap(JDK1.8)
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10022092.html Java基础系列-HashMap 1.8 概述 HashMap是 ...
随机推荐
- VS2015配置OpenCV,使用mfc摄像头程序测试
转自:https://blog.csdn.net/Lee_Dk/article/details/80466523 这只是介绍了如何加入OpenCV,怎么查找OpenCV请看出处. 新建一个项目.找到属 ...
- 在windows上传一个新的项目到GitHub上
不多说,直接上步骤 1,新建GitHub的账号密码. 2,新建一个项目 点击new repository 3,选择自己项目,填写格式 点击创建 create repository,这时候一个雏形 ...
- [译]使用explain API摆脱ElasticSearch集群RED苦恼(转)
"哔...哔...哗",PagerDuty的报警通知又来了. 可能是因为你又遭遇了节点宕机, 或者服务器机架不可用, 或者整个ElasticSearch集群重启了. 不管哪种情况, ...
- can't open the mysql.plugin table. please run mysql_upgrade to create it.
To initialize a fresh data directory, you basically (after setting your config file) just have to ru ...
- 2019/3/7 Java学习之多线程(基础)
Java学习之多线程 讲到线程,就必须要懂得进程,进程是相当于一个程序的开始到结束,而线程是依赖于进程的,没有进程,就没有线程.线程也分主线程和子线程,当在主线程开启子线程时,主线程结束,而子线程还可 ...
- 大众点评selfxss结合两个csrf变废为宝(已修复,故公开,不涉及真实参数)
大众点评selfxss结合两个csrf变废为宝 漏洞不值钱,但还是蛮好玩的 漏洞信息 类型:存储型xss 场景:收藏商户后,去已收藏的商户列表可以给指定商户添加tag(与下文html标签区别) 漏洞限 ...
- 【分布式缓存系列】Redis实现分布式锁的正确姿势
一.前言 在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架——Redis.但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识.所以我就像把自己对分布式缓 ...
- 使用通配符和泛型:完成父子类关系的List对象的类型匹配
泛型和通配符 使用泛型和通配符都可以让一个方法所表示的算法逻辑适应多种类型. Java中具备继承关系的类A.B(A extends B)它们的集合List<A>和List<B> ...
- Python自动化编程-树莓派的介绍与使用(一)
Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) [1] 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux. 随着Windo ...
- 隔壁小孩都要知道的Drupal配置
i春秋作家:Arizona 原文来自:隔壁小孩都要知道的Drupal配置 隔壁小孩都要知道的Drupal配置 Drupal是一个开源的PHP内容管理系统,具有相当复杂的架构.它还具有强大的安全模型.感 ...