基本类型包装类简单入门
基本类型包装类
我们提出一个需求,将520的二进制、八进制、十六进制算出来,对于这种基本类型的一些操作,包装类就可以很好地解决这些问题。
public class IntegerDemo {
public static void main(String[] args) {
int love = 520;
//转换为二进制
System.out.println(Integer.toBinaryString(love));
//转换为八进制
System.out.println(Integer.toOctalString(love));
//转换为十六进制
System.out.println(Integer.toHexString(love));
}
}
//运行结果
1000001000
1010
208
将基本数据类型封装成对象的的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一:用于基本数据类型与字符串之间的转换
例如:常见进制的转换
Public Static String toBinaryString(int i)
为了对基本数据类型进行更多的操作,更方便的操作,Java针对每一种数据类型都提供了对应的类类型,包装类类型。
· byte Byte
· short Short
· int Integer
· long Long
· float Float
· double Double
· char Character
· boolean Boolean
下面的内容我们使用常见的Integer类型来讲解
(一) Integet类
Integer类的构造方法
public class IntegerDemo2 {
public static void main(String[] args) {
int love = 520;
Integer love2 = new Integer(love);
System.out.println(love2);
//由数字组成的字符串也可以被转换为Integer
String love3 = "520";
Integer love4 = new Integer(love3);
System.out.println(love4);
}
}
通过包装类的一些方法可以很便捷的解决很多实际问题,比如String和int类型的相互转换
(二)String和int的相互转换
(1) int → String
package cn.bwh_02_IntString;
public class IntStringDemo {
public static void main(String[] args) {
int number = 520;
//方式一:拼接字符串
String s1 = "" + number;
System.out.println(s1);
//方式二(推荐方法)任何类型的数据转换成字符串
String s2 = String.valueOf(number);
System.out.println(s2);
//方式三(最麻烦)
Integer i = new Integer(number);
String s3 = i.toString(number);
System.out.println(s3);
//方式四
String s4 = Integer.toString(number);
System.out.println(s4);
}
}
(2) String → int (数字组成的字符串)
package cn.bwh_02_IntString;
public class StringIntDemo {
public static void main(String[] args) throws Exception{
String s = "520";
//方式一
Integer i = new Integer(s);
int x = i.intValue();
System.out.println(x);
//方式二(推荐方法)
int y = Integer.parseInt(s);
System.out.println(y);
}
}
(三) 两个JDK 5 的新特性
(1) 自动装箱和自动拆箱(JDK 5新特性)
在我想要使用包装类的一些方法的时候,我可以通过基本类型包装类的构造方法将值传入,JDK5后的新特性就为我们大大的简化了一些麻烦的步骤
Integer a = 1;
//这就是一个自动装箱,如果没有自动装箱的话,需要这样
Integer a = new Integer(1)
int b = a;
//这就是一个自动拆箱,如果没有自动拆箱的话,需要这样:
int b = a.intValue()
这样就能看出自动装箱和自动拆箱是简化了基本数据类型和相对应对象的转化步骤
(2) 缓存池(JDK 5新特性)
谈到数值顺便提一提缓存池问题
在于在Java 5以后,整型对象在内部实现中通过使用相同的对象引用实 现了缓存和重用。Integer类型对于-128-127之间的数字是在缓冲区取的,所以对于在这个范围内的数值用双等号比较是一致的,因为对应的内存地址是相同的。但对于不在这区间的数字是在堆中new出来的,所以地址空间不一样,也就不相等。
(四) Character类
Character类对象中包装一个基本类别char的值此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。
//判断给定的字符是否是大写字符
public static boolean isUpperCase(char ch)
//判断给定的字符是否是小写字符
public static boolean isLowerCase(char ch)
//判断给定的字符是否是数字字符
public static boolean isDigit(char ch)
//把给定的字符串转换为大写字符
public static boolean toUpperCase(char ch)
//把给定的字符串转换为小写字符
public static boolean toLowerCase(char ch)
结尾:
如果内容中有什么不足,或者错误的地方,欢迎大家给我留言提出意见, 蟹蟹大家 !^_^
如果能帮到你的话,那就来关注我吧!(系列文章均会在公众号第一时间更新)
在这里的我们素不相识,却都在为了自己的梦而努力 ❤
一个坚持推送原创Java技术的公众号:理想二旬不止
原文地址:https://www.cnblogs.com/ideal-20/p/11011686.html
- 使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务
- 使用WCF进行跨平台开发之一(WCF的实现、控制台托管与.net平台的调用)1.创建项目结构2.契约的设计3.实现服务4.控制台托管服务5.在.net平台中调用WCF
- 使用GUI工具高效构建你自己的Nuget包丰富包的基础信息添加要包含的文件The end
- 网页结构与表现原则
- CSS3动画功能
- Angular开发者手册重点翻译之指令(一)文本和属性绑定ngAttr属性绑定
- CSS3中的变形处理
- WCF中操作的分界于调用顺序和会话的释放操作分界实例停止
- WCF中数据契约之已知类型的几种公开方式代码中定义配置中定义宿主端使用解析器
- 有趣的算法(一)——n阶层尾部有几个0
- Singal Page App:使用Knockout和RequireJS创建高度模块化的单页应用引擎背景知识文档结构服务端API准备Require配置与系统配置模块中的工作模块间的工作烂图赏鉴代码送上
- Canvas 图片绕边旋转的小动画
- 探寻ASP.NET MVC鲜为人知的奥秘(3):寻找多语言的最佳实践方式
- 探寻ASP.NET MVC鲜为人知的奥秘(2):与Entity Framework配合,让异步贯穿始终
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 移动硬盘显示盘符但是打不开,提示加密
- GORM V2 模型定义、约定、标签
- 字符串:简单的反转还不够!
- TypeScript 实战算法系列(七):实现图的遍历
- 63. Vue MUI的基本使用
- 初学web自动化测试--笔记1
- R语言作图——Line plot with error
- Python自学成才之路 玩转虚拟环境
- 基于腾讯云的 Rust 和 WebAssembly 函数即服务
- 谷歌开源NLP模型可视化工具LIT,模型训练不再「黑箱」
- Python 装饰器填坑指南 | 最常见的报错信息、原因和解决方案
- 社区开源框架预制件相关模块:CollectManager详解
- Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持
- 3种 Springboot 全局时间格式化方式,别再写重复代码了
- 一文搞懂CDN加速原理