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是 ...
随机推荐
- [f]智能获取浏览器版本UA信息的方法
var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { ...
- 【洛谷P3369】【模板】普通平衡树题解
[洛谷P3369][模板]普通平衡树题解 题目链接 题意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3 ...
- JS 控制输入框输入表情emoji 显示在页面上
问题描述: 最近做一个评论回复的功能遇到了用户输入框输入表情,存入数据库的时候转变成了问号??? 起初为了避免这个问题,做了一个过滤表情的控制 var inputText = $('#pinglun' ...
- (一)Javascript 面向对象编程:封装
Javascript 面向对象编程:封装 作者:阮一峰 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP ...
- Exp2 后门原理与实践-------20164325王晓蕊
Exp2 后门原理与实践 任务一:使用netcat获取主机操作Shell,cron启动 1.windows获取linux shell 1.1 ipconfig 查看本机查看以太网适配器(8)的ipv ...
- CSU1333最短路问题SPFA
fastvj.rainng.com/contest/236779#problem/I Description: n个点m条路每条路 l,r,t:表示这条路开l秒,关r秒,通过要t秒,问你车辆从s到t最 ...
- UML顺序图知识点介绍(Sequence Diagram)
消息 调用消息 调用(procedure call)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接受者放弃会返回控制 在Rational Rose(2016版本如图所示) 异步消息 异 ...
- Hadoop 和 MPP 的比较
如果我们回顾5年前会发现,那就是当时Hadoop不是大多数公司的选择,特别是那些要求稳定和成熟的平台的企业. 在这一刻,选择非常简单:当您的分析数据库的大小超过5-7 TB时,您只需启动MPP迁移项目 ...
- 抄一篇maven的备忘
标注下来源:http://www.trinea.cn/android/maven/ 由浅入深,主要介绍maven的用途.核心概念(Pom.Repositories.Artifact.Build Lif ...
- libgdx学习记录3——动画Animation
libgdx动画采用Animation实现,即通过帧动画实现. 代码如下: package com.fxb.newtest; import com.badlogic.gdx.ApplicationAd ...