IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java增强包装类 -> 正文阅读

[Java知识库]Java增强包装类

Java增强包装类

即使再小的帆也能远航~

一.目录

简介

包装类的初始化

装箱与拆箱

基本数据类型与字符的转换

二.内容

简介

? Java是面向对象编程语言,但同样提供了8中基本数据类型,这8种基本数据类型不支持面向对象的编程机制,基本数据类型同样也不具备“对象”的特征:没有Field成员变量、没有方法可以被调用
8种基本数据类型带来一定的方便性,即:可以进行简单、有效的常规数据处理。但在某些时候基本数据类型会有一些制约。例如:所有的引用类型的数据都继承Object类,都可以当成Object类型变量使用,但是基本数据类型则不可以,如果某些类提供的方法需要Object类型的参数,但实际的数值确是1、2、3、4等数值,这种情况就难以处理。
为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类的概念,为8种基本数据类型分别定义了相应的引用类型,并称为基本数据类型的包装类

基本数据类型bytecharshortintlongfloatdoubleboolean
包装类ByteCharacterShortIntegerLongFloatDoubleBoolean

包装类的初始化

Java提供的包装类提供了相似的构造方法用于创建包装类对象,基本上是传入对应的基本数据类型或者字符串形式的数据

public static void main (String[]args) {
    // 传入整数基本数据类型
    Integer int1=new Integer(5);
    //传入字符串形式的整数值
    Integer int2 = new Integer("12");
    //传入布尔类型的基本数据类型
    Boolean bo1= new Boolean(true);
    //传入字符串形式的布尔类型
    Boolean bo2 =new Boolean("false");
    Double do1 =new Double(12.5);
    Double do2= new Double("30.1");
}

分析:通过上面示例可以看出,所有基本数据类型包装类,都提供通过向包装类构造器中传入一个字符串参数的方式或者对应的基本数据类型的方式来创建包装类对象。但是如果传入的字符串参数不符合基本数据类型格式,那么将引发java.lang.NumberFormatException异常。数据转换格式化异常

public static void main (String[]args){
    Integer int1 = new Integer("abc");
    System.out.println(int1);
}
//会报错的

装箱与拆箱

Java提供的基本数据类型与包装类之间的转换有点繁琐,在JDK1.5版本中提供了自动装箱与拆箱的功能。所谓的自动装箱与拆箱就是可以把一个基本类型的数据变量赋值为包装类变量,或者赋值给Object变量,子类对象可以直接赋值给父类变量就是装箱的一种体现
自动拆箱则与之相反,允许直接把包装类对象直接赋值给一个对应的基本类型变量

public static void main(String[]args) {
    //自动装箱,Java将基本常量12封装到一个Integer对象中,将对象返回
    Integer int1=12;
    System.out.println(int1);
    //拆箱操作,Java将Integer对象中包含的整数值5从对象中取出返回
    int num =new Integer(5);
    System.out.println(num);
}

基本数据类型与字符的转换

字符转基本类型

在某些情况下,数值的表示形式不是由基本数据类型来表示的,而是由字符串类型的数值的形式来表示的,如果这种类型要进行算术运算时就需要提前将该字符串类型的数字转换成对应的基本数据类型。该如何来实现呢?

Java提供的包装类就可以帮助大家来解决这个问题。

1、利用包装类提供的parseXXX(Strings)的静态方法,将String类型的数据转换成相应的基本数据类型(XXX)。

2、利用包装类提供的Xxx(Strings)构造器。

3、String类型提供了多个valueOf()方法,用于将基本类型变量转换成字符串。

public static void main(String[]args){
    String str1="23";
    String str2="7";
    //将两个数进行加法运算,首先要先将字符串形式的数据进行转换
    int num1 = Integer.parseInt(str1);
    int num2= Integer.parseInt(str2);
    System.out.println("两个字符串形式的数值相加的和是:"+(num1+num2));
    //将一个基本数据类型转换成字符串
    doublenum=12.5;
    //String类提供的静态方法valueOf进行了重载可以将任何基本数据类型转换成字符串
    String numStr = String.valueOf(num);
    System.out.println(numStr);
}

? 分析:通过以上程序不难看出,每一个基本数据类型所对应的包装类,都有一个parseXXX的方法,来将一个字符串类型的数值,转换成其对应的基本数据类型。Long.parseLong,Double.parseDoule等,但是需要注意的是这个字符串类型的数值中不能包含非数字的字符,否则会抛出java.lang.NumberFormatException异常。

? 将一个基本数据类型转换成字符串,除了使用String.valueOf的方法之外,最简洁的操作就是使用“+”的拼接功能,让一个基本数据类型与一个空“”字符串相加,结果即可得到该数值类型对应的字符串。但是建议大家在开发时还是通过方法调用的方式来实现。

基本类型转字符

  • 基本数据类型.toString();
    这个toString()是基本数据类型的静态方法
String s=int.toString(20);
  • 将基本数据类型封装成相应的封装类型对象,采用"基本数据类型对象.toString()"的方法
Double d =new Double(321.2);
String s=d.toString();
  1. 基本数据类型+""<=>""+基本数据类型<=>字符串类型

    String s=""+200;
    String s=200+"";
    
  2. String类的静态方法ValueOf()

    //将char类型的'b'转成字符串
    String.valueOf('b');
    
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:34:18  更:2021-08-18 12:35:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:48:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码