包装类用法

包装类用法

一.包装类:

  1. 包装类(Wrapper Class):

    Java语言是一个面向对象的语言,但是Java中的八大基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性(没有成员变量和成员方法可以调用),因此,java为每种数据类型分别设计了对应的类,即包装类。

基本数据类型:对应的包装类
byteByte
intInteger
floatFloat
doubleDouble
charChar
booleanBoolean
longLong
shortShort

其中Char和Boolean的父类是继承Java.lang.Object

其余全部继承的父类是Java.lang.Number

(1)所有包装类都是final类型,因此不能创建他们的子类。
(2)包装类是不可变类,一个包装类的对象自创建后,他所包含的基本类型数据就不能被改变。

举例Integer的装箱和拆箱其他的包装类同理

装箱和拆箱

装箱:将基本数据类型变为包装类

拆箱:将包装类变为基本数据类型

int到integer类:

三种方法:
(1)使用Integer类的构造方法
(2)使用Integer类内部的valueOf( )方法
(3)自动装箱

(1)方法1:使用Integer类的构造方法

  1. public Integer(int value):将int类型转换为Integer类。
  2. public Integer(String s):将String类型转换为Integer类。

注意:使用此构造方法时,字符串内的字符必须由数字组成,不可以是字母或者其他形式,否则抛出NumberFormatException。

public static void main(String[] args)
  {
     Integer integer=new Integer(a);         //利用构造方法装箱
        Integer integer1=new Integer(b);
        System.out.println(integer);
        System.out.println(integer1);           //需要注意如果b的字符串赋值不是纯数字无法转换称Integer类
  }

方法2.使用内部类valueOf( )方法

  • public static Integer valueOf(int i):将int类型转换为Integer类。
Integer.valueOf(a);
Integer.valueOf(b);
// Integer.valueOf(c);               //boolean定义的变量无法包装成Integer类型

方法3.自动装箱

char d='a';
Integer s = Integer.valueOf(d);
System.out.println(d);                   //char定义的变量包装成Integer类,其值会转换成相应的ASCII值
Integer f=100;                          //第三种装箱方式,自动装箱,但并不是很自动
//Integer g='d';                          无法直接将字符串自动装箱

Integer类到 int:

(1)调用包装类的intValue()方法

(2)通过调用自身的valueOf()方法

( 3 )通过自动拆箱:

方法一:

Integer a=new Integer(12);
int b=a.intValue();//调用Integer的intValue将Integer转换为int

方法二:

Integer a=new Integer(12);
int d=Integer.valueOf(a);//通过调用自身的valueOf实现拆箱的操作

方法三:

Integer a=new Integer(12);
System.out.println(a);//自动拆箱,实现也是通过valueOf的操作
int到IntegerInteger到int
使用Integer类的构造方法调用Integer类的intValue()方法
使用Integer类内部的valueOf( )方法自动拆箱
自动装箱

包装类 装箱 拆箱
Byte valueOf() byteValue()
Short valueOf() shortValue()
Integer valueOf() intValue()
Long valueOf() longValue()
Float valueOf() floatValue()
Double valueOf() doubleValue()
Character valueOf() charValue()
Boolean valueOf() booleanValue()

4.int类型数据和String形式之间的相互转换:

intl到StringString到int
intl到StringString–>Integer–>int
String类的valueOf()方法int parseInt(String s)
int --> Integer -->String (所用方法:valueOf()+toString())
toString(int i)

在这里插入图片描述

三.Character类

1.Character类概述:

Character类在对象中包装了一个char的值,用于对单个字符进行操作。
该类提供了几种方法来操纵字符,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写等。

2.Character类的构造方法:

public Character(char value):将char类型转换为Character类。

Character ch1 = new Character('a');
System.out.println("ch1:"+ch1);  //ch1:97

在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「我一直在流浪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
1:"+ch1); //ch1:97


[外链图片转存中...(img-slUwV0Ir-1679913380290)]

————————————————
版权声明:本文为CSDN博主「我一直在流浪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42764468/article/details/87898191
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值