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
目录
打赏
0
0
0
0
14
分享
相关文章
JAVA泛型类的使用(二)
接上一篇继续介绍Java泛型的高级特性。3. **编译时类型检查**:尽管运行时发生类型擦除,编译器会在编译阶段进行严格类型检查,并允许通过`extends`关键字对类型参数进行约束,确保类型安全。4. **桥方法**:为保证多态性,编译器会生成桥方法以处理类型擦除带来的问题。5. **运行时获取泛型信息**:虽然泛型信息在运行时被擦除,但可通过反射机制部分恢复这些信息,例如使用`ParameterizedType`来获取泛型参数的实际类型。
JAVA泛型类的使用(一)
Java 泛型类是 JDK 5.0 引入的重要特性,提供编译时类型安全检测,增强代码可读性和可维护性。通过定义泛型类如 `Box<T>`,允许使用类型参数。其核心原理是类型擦除,即编译时将泛型类型替换为边界类型(通常是 Object),确保与旧版本兼容并优化性能。例如,`Box<T>` 编译后变为 `Box<Object>`,从而实现无缝交互和减少内存开销。
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
105 8
|
3月前
|
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
9月前
|
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
154 0
|
9月前
|
你知道Java中的BigInteger类和BigDecimal类吗?
你知道Java中的BigInteger类和BigDecimal类吗?
145 0
|
6月前
|
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
8月前
|
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
131 1
java中BigDecimal详解
java中BigDecimal详解

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等