Java中包装类

简介: 浅浅来学习一下java中的包装类吧。

包装类

Number类

基本类型(byte short int long float double char boolean)是以值的形式直接存在,所以他们没有面向对象的特性,自然不继承object,不能使用多态,用object角度去接受基本类型。

为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

image.png

xxxValue() 方法

xxxValue() 方法用于将 Number 对象转换为 xxx 数据类型的值并返回。
该方法不接受任何参数。

image.png

Integeri=1;
System.out.println(i.doubleValue());//1.0System.out.println(i.byteValue());//1

valueOf() 方法

valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。该方法是静态方法。

staticIntegervalueOf(inti)
staticIntegervalueOf(Strings)
staticIntegervalueOf(Strings, intradix)//radix --在解析字符串 s 时使用的进制数,用于指定使用的进制数。Integerx=Integer.valueOf(9);    
Doublec=Double.valueOf(5); 
Floata=Float.valueOf("80"); 
Integerb=Integer.valueOf("444",16);   // 使用 16 进制 System.out.println(x);//9System.out.println(c);  //5.0 System.out.println(a); //80.0System.out.println(b); //1092          

equals() 方法

equals() 方法用于判断 Number 对象与方法的参数进是否相等。如 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。

Integeri=1;
Integerb=1;
Integerc=5;
Shorta=1;
System.out.println(i.equals(b));//trueSystem.out.println(i.equals(c));//falseSystem.out.println(i.equals(a));//false

Math 类

Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

System.out.println("90 度的正弦值:"+Math.sin(Math.PI/2));//90 度的正弦值:1.0System.out.println(Math.PI); //3.141592653589793

sqrt() 方法

sqrt() 方法用于返回参数的算术平方根

返回参数的算术平方根。

doublea=4.0;
System.out.println(Math.sqrt(c));//2.0

round() 方法

round() 方法返回一个最接近的 int、long 型值,四舍五入。round 表示"四舍五入",算法为Math.floor(x+0.5) ,即将原来的数字加上 0.5 后再向下取整。

Math.round(11.5)//12Math.round(-11.5)//-11doubled=100.752floatf=100;
System.out.println(Math.round(d));//101System.out.println(Math.round(f));//100

parseXXX(String str)方法

包装类提供了一个静态方法parseXXX(String str),可以将给定字符串转换为对应的基本类型,前提是该字符串必须正确描述基本类型。

intx=Integer.parseInt("9");
doublec=Double.parseDouble("5");
ints=Integer.parseInt("123.123");//报错,字符串类型不对System.out.println(x);//9System.out.println(c);//5.0

Character 类

Character 类用于对单个字符进行操作。

Character 类在对象中包装一个基本类型 char 的值

Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象。

Characterch=newCharacter('a');

在某些情况下,Java编译器会自动创建一个Character对象

// 原始字符 'a' 装箱到 Character 对象 ch 中Characterch='a';
// 原始字符 'x' 用 test 方法装箱// 返回拆箱的值到 'c'charc=test('x');

将一个char类型的参数传递给需要一个Character类型参数的方法时,那么编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。

自动拆装箱是编译器认可,而不是虚拟机认可,编译器在将源程序编译时自动补齐代码来完成基本类型与包装类之间的转换。

inti=newInteger(0);
//在.class 文件中,编译器将其改为inti=newInteger(0).intValue();
Integera=12;
//在.class 文件中为Integera=Integer.valueOf(12);

toString() 方法

toString() 方法用于返回一个表示指定 char 值的 String 对象。结果是长度为 1 的字符串,仅由指定的 char 组成。

System.out.println(Character.toString('a'));//aSystem.out.println(Character.toString('A'));//A

大家可以去菜鸟教程等相关的网站去看更详细的知识点。今天浅浅分享了一下Java中包装类这一知识点,如果有啥问题,欢迎大家指出,谢谢大家。



目录
相关文章
|
8月前
|
JavaScript Java 编译器
Java包装类和泛型的知识点详解
Java包装类和泛型的知识点的深度理解
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
78 4
|
4月前
|
Java 编译器 容器
Java——包装类和泛型
包装类是Java中一种特殊类,用于将基本数据类型(如 `int`、`double`、`char` 等)封装成对象。这样做可以利用对象的特性和方法。Java 提供了八种基本数据类型的包装类:`Integer` (`int`)、`Double` (`double`)、`Byte` (`byte`)、`Short` (`short`)、`Long` (`long`)、`Float` (`float`)、`Character` (`char`) 和 `Boolean` (`boolean`)。包装类可以通过 `valueOf()` 方法或自动装箱/拆箱机制创建。
48 9
Java——包装类和泛型
|
5月前
|
Java 程序员
【Java基础面试八】、为啥要有包装类?
这篇文章解释了Java中存在包装类的原因:为了让基本数据类型具备对象的特性,使得它们可以被用作对象,以符合Java"一切皆对象"的设计理念,并简化将基本数据类型作为Object类型参数传递的问题。
【Java基础面试八】、为啥要有包装类?
|
3月前
|
Java
【Java】什么是泛型?什么是包装类
【Java】什么是泛型?什么是包装类
28 0
|
4月前
|
存储 Java 测试技术
Java零基础教学(10):包装类
【9月更文挑战第1天】Java零基础教学篇,手把手实践教学!
54 1
|
5月前
|
前端开发 Java
【前端学java】java中的包装类(12)
【8月更文挑战第10天】java中的包装类
27 1
|
5月前
|
算法 Java
12 Java常用类(一)(内部类+object类+包装类)
12 Java常用类(一)(内部类+object类+包装类)
45 5
|
5月前
|
存储 Java 测试技术
Java零基础(11) - 包装类详解
【8月更文挑战第11天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
56 1
|
6月前
|
存储 Java 测试技术
day18:Java零基础 - 包装类
【7月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
45 9