Java开发——18.常用类(包装类,拆箱和装箱;BigInteger+BigDecimal)

简介: Java中只有两种数据类型:基本数据类型和引用数据类型。

Java中只有两种数据类型:基本数据类型和引用数据类型。


包装类:

基本数据类型是不能new对象的,在使用的是时候,只用他们的数值;使用基本数据类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,所以引申出来了包装类,在创建对象的时候使用。


image.png


自动装箱和自动拆箱:

自动装箱:基本数据类型转换为对应的包装类;

自动拆箱:对应的包装类转换为基本数据类型。


在Java中,基本数据类型和其对应的包装类可以实现自动装箱和自动拆箱的效果;


publicstaticvoidmain(String[] args) {
Integerin=123;
System.out.println(in);
intnum=in;
System.out.println(num);
    }


手动装箱和手动拆箱:

手动装箱:基本数据类型通过valueOf(基本数据类型)方法转换为对应的包装类;

手动拆箱:对应的包装类通过xxxValue()方法转换为基本数据类型。


publicstaticvoidmain(String[] args) {
//方法一:使用valueOf(基本数据类型)方法手动装箱Integerinteger=Integer.valueOf(123);
//手动拆箱       inti=integer.intValue();
//方法二:使用有参构造方法直接手动装箱Integerinteger2=newInteger(123456);
//把integer类型的对象,拆箱成为其他的基本数据类型doublev=integer2.doubleValue();
//传入的数字也可以是字符串的形式,但是要注意,不能出现空格等中文字符        Doubledl=Double.valueOf("1245656.9");
System.out.println(integer3);//1245656.9}


常用方法:

image.png


注意事项:

刚学习过手动装箱和手动拆箱,相信已经了解过了其中常用的方法了,但是还是要注意学习它的构造方法;里面也有许多对数值进行操作的方法,像进制转换、比较大小...


BigInteger:包装类型的操作类,类似于基本数据类型的算数运算的Math类中的方法,BigInteger类中也提供了相关操作;

不可变的任意精度整数。

所有操作的行为就好像BigIntegers以二进制补码表示(如Java的原始整数类型)表示。 BigInteger提供了所有Java的原始整数运算符和java.lang.Math中所有相关方法的类比。 此外,BigInteger还提供了模数运算,GCD计算,原始测试,初级生成,位操作以及其他一些其他操作的操作。

API


BigDecimal:包装类型的操作类,主要针对浮点类型;

不变的,任意精度的带符号的十进制数字。

BigDecimal类提供了算术,缩放操作,舍入,比较,散列和格式转换的操作。

API
相关文章
|
27天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
44 8
|
27天前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
60 1
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
Java Android开发
Eclipse 创建 Java 类
Eclipse 创建 Java 类
26 0
|
7月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
124 0
|
7月前
|
存储 Java
你知道Java中的BigInteger类和BigDecimal类吗?
你知道Java中的BigInteger类和BigDecimal类吗?
110 0
|
4月前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
6月前
|
Java
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
|
6月前
|
安全 Java
java中BigDecimal详解
java中BigDecimal详解
|
7月前
|
算法 Java API
java BigDecimal使用详细介绍
java BigDecimal使用详细介绍
java BigDecimal使用详细介绍
下一篇
DataWorks