Java基础API章节--第四节包装类总结

简介: API章节--第四节包装类总结

四:包装类

①:包装类的定义
在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入。为了解决这样的问题,JDK中提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象。包装类都在java.lang包中。
图片来源于百度
②:包装类的继承关系
图片来源于百度
③:装箱和拆箱(基本数据类型和引用数据类型的相互转换)
装箱:基本数据类型=>引用数据类型
在这里插入图片描述
拆箱:引用数据类型=>基本数据类型
在这里插入图片描述
例:

  public class Example {
         public static void main(String[] args) {
        //装箱:基本数据类型=>引用数据类型
        //【1】调用构造方法--不推荐使用
        int num=20;
        Integer integer=new Integer(num);
        System.out.println(integer.toString());//运行结果: 20
        //【2】调用静态方法valueOf()--推荐使用
        System.out.println(Integer.valueOf(num).toString());//运行结果: 20
        //拆箱:引用数据类型=>基本数据类型
        int sum=integer.intValue();
        System.out.println(sum);//运行结果:20
        }
     }

④:分析包装类构造方法和相应的方法


  • 构造方法 说明
  • Byte(byte value) 构造一个新分配的 Byte 对象,以表示指定的 byte 值。
  • Short(short value) 构造一个新分配的 Short 对象,用来表示指定的 short 值。
  • Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。
  • Long(long value) 构造新分配的 Long 对象,表示指定的 long 参数。
  • Float(float value) 构造一个新分配的 Float 对象,它表示基本的 float 参数。
  • Double(double value) 构造一个新分配的 Double 对象,它表示基本的 double 参数。


  • 包装类静态方法 说明
  • static Byte.valueOf(byte b) 返回表示指定 byte 值的一个 Byte 实例
  • static Short.valueOf(short s) 返回表示指定 short 值的 Short 实例
  • static Integer.valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
  • static Long.valueOf(Long l) 返回表示指定 long 值的 Long 实例。
  • Static Float.valueOf(float f) 返回 float 参数的字符串表示形式。
  • Static Double.valueOf(double d) 返回表示指定的 double 值的 Double 实例。


例:(Integer类)

  • Intger类除了具有Object类的所有方法外(Integer类继承于Number,Number继承于Object),还有一些特有的方法

+方法

  • int intValue() 将Integer类型的值以int类型返回
 System.out.println(Integer.valueOf(10).intValue());//运行结果:10(返回的值是int类型)

+静态方法

  • static String toBinaryString​(int i) 以二进制无符号整数形式返回一个整数的字符串
  System.out.println(Integer.toBinaryString(10));//运行结果:1010(十进制10对应二进制为1010)

`

  • static String toHexString​(int i) 以十六进制无符号整数形式返回一个整数的字符串
  System.out.println(Integer.toHexString(10));//运行结果:a(十进制10对应十六进制a)
  • static String toOctalString​(int i) 以八进制无符号整数形式返回一个整数的字符串
  System.out.println(Integer.toOctalString(10));//运行结果:12(十进制10对应八进制12)
  • static int compare​(int x, int y) 比较两int数值。 x>y 返回 1;x<y 返回 -1;x=y 返回 0
  System.out.println(Integer.compare(30, 20));//运行结果: 1
  • static Integer valueOf​(int i) 返回Integer实例表示指定的int价值。
  System.out.println(Integer.valueOf(10));//运行结果:10 (注意:返回的数据类型是Integer)
  • static Integer valueOf​(String s) 返回Integer对象保存指定值的String.
  System.out.println(Integer.valueOf("10"));//运行结果:10(注意:返回的数据类型是Integer)
  • static Integer valueOf​(String s, int radix) 返回Integer对象保存从指定的String中用第二个参数给出的基数进行解析时。
 System.out.println(Integer.valueOf("3",2));//运行结果报错
 //radix的参数为2表示第一个参数s必须为二进制数的字符串(注意:返回的数据类型是Integer)
 System.out.println(Integer.valueOf("10",2));//运行结果:2(二进制10对应十进制结果为2)
 //注意:返回的数据类型是Integer
  • static int parseInt​(String s) 将字符串参数解析为带符号的十进制整数。
 System.out.println(Integer.parseInt("0000023000"));//运行结果:23000

例:(Character类)

+装箱和拆箱

        //【1】装箱
        char str='a';
        //这种方式不建议使用
        Character objcharacter1=new Character(str);
        //推荐使用这种方式
        Character objcharacter2=Character.valueOf(str);
        //【2】拆箱
        char str2=objcharacter2.charValue();
  • static char toUpperCase​(char ch) 使用UnicodeData文件中的大小写映射信息将字符参数转换为大写。
  System.out.println(Character.toUpperCase('a'));//运行结果:A
  • static char toLowerCase​(char ch) 使用UnicodeData文件中的大小写映射信息将字符参数转换为小写。
   System.out.println(Character.toLowerCase('A'));//a
  • static boolean isWhitespace​(char ch) 根据Java确定指定字符是否为空白。
System.out.println(Character.isWhitespace(' '));//运行结果 true
  • static boolean isUpperCase​(int codePoint) 确定指定字符(Unicode代码点)是否为大写字符。
System.out.println(Character.isUpperCase('A'));//运行结果 true
  • static boolean isLowerCase​(char ch) 确定指定字符是否为小写字符。
   System.out.println(Character.isLowerCase('a'));//运行结果 true

注:其他类,方法请查阅相应的API文档
java.lang.Integer
java.lang.Character

相关文章
|
13天前
|
Java API Spring
打造未来电商新引擎:揭秘Java可扩展API设计,让支付与物流灵活如丝,引领电商时代潮流!
【8月更文挑战第30天】本文通过电商平台案例,探讨了如何设计可扩展的Java API。首先定义支付和物流服务的接口与抽象类,然后实现具体服务,接着引入工厂模式或依赖注入管理服务实例,最后通过配置实现灵活扩展。这种设计确保了应用架构的灵活性和长期稳定性。
32 3
|
5天前
|
安全 Java API
【性能与安全的双重飞跃】JDK 22外部函数与内存API:JNI的继任者,引领Java新潮流!
【9月更文挑战第7天】JDK 22外部函数与内存API的发布,标志着Java在性能与安全性方面实现了双重飞跃。作为JNI的继任者,这一新特性不仅简化了Java与本地代码的交互过程,还提升了程序的性能和安全性。我们有理由相信,在外部函数与内存API的引领下,Java将开启一个全新的编程时代,为开发者们带来更加高效、更加安全的编程体验。让我们共同期待Java在未来的辉煌成就!
28 11
|
6天前
|
安全 Java API
【本地与Java无缝对接】JDK 22外部函数和内存API:JNI终结者,性能与安全双提升!
【9月更文挑战第6天】JDK 22的外部函数和内存API无疑是Java编程语言发展史上的一个重要里程碑。它不仅解决了JNI的诸多局限和挑战,还为Java与本地代码的互操作提供了更加高效、安全和简洁的解决方案。随着FFM API的逐渐成熟和完善,我们有理由相信,Java将在更多领域展现出其强大的生命力和竞争力。让我们共同期待Java编程新纪元的到来!
29 11
|
3天前
|
监控 Java 大数据
【Java内存管理新突破】JDK 22:细粒度内存管理API,精准控制每一块内存!
【9月更文挑战第9天】虽然目前JDK 22的确切内容尚未公布,但我们可以根据Java语言的发展趋势和社区的需求,预测细粒度内存管理API可能成为未来Java内存管理领域的新突破。这套API将为开发者提供前所未有的内存控制能力,助力Java应用在更多领域发挥更大作用。我们期待JDK 22的发布,期待Java语言在内存管理领域的持续创新和发展。
|
5天前
|
Java API 数据处理
【Java的SIMD革命】JDK 22向量API:释放硬件潜能,让Java应用性能飙升!
【9月更文挑战第7天】 JDK 22向量API的发布标志着Java编程语言在SIMD技术领域的重大突破。这一新特性不仅释放了现代硬件的潜能,更让Java应用性能实现了飙升。我们有理由相信,在未来的发展中,Java将继续引领编程语言的潮流,为开发者们带来更加高效、更加强大的编程体验。让我们共同期待Java在SIMD技术的推动下开启一个全新的性能提升时代!
|
6天前
|
Java API 开发者
【Java字节码操控新篇章】JDK 22类文件API预览:解锁Java底层的无限可能!
【9月更文挑战第6天】JDK 22的类文件API为Java开发者们打开了一扇通往Java底层世界的大门。通过这个API,我们可以更加深入地理解Java程序的工作原理,实现更加灵活和强大的功能。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来!
|
4天前
|
Java API 开发者
【Java字节码的掌控者】JDK 22类文件API:解锁Java深层次的奥秘,赋能开发者无限可能!
【9月更文挑战第8天】JDK 22类文件API的引入,为Java开发者们打开了一扇通往Java字节码操控新世界的大门。通过这个API,我们可以更加深入地理解Java程序的底层行为,实现更加高效、可靠和创新的Java应用。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来,并积极探索类文件API带来的无限可能!
|
12天前
|
Java API
Java 8新特性:Lambda表达式与Stream API的深度解析
【7月更文挑战第61天】本文将深入探讨Java 8中的两个重要特性:Lambda表达式和Stream API。我们将首先介绍Lambda表达式的基本概念和语法,然后详细解析Stream API的使用和优势。最后,我们将通过实例代码演示如何结合使用Lambda表达式和Stream API,以提高Java编程的效率和可读性。
|
11天前
|
存储 Java 测试技术
Java零基础教学(10):包装类
【9月更文挑战第1天】Java零基础教学篇,手把手实践教学!
16 1
|
11天前
|
Java 数据库连接 缓存
Hibernate性能调优:五大秘籍,让应用效能飙升,告别慢如蜗牛的加载,体验丝滑般流畅!
【8月更文挑战第31天】本文深入探讨了提升Hibernate应用性能的五大技巧,包括选择合适的缓存策略、优化查询语句、合理使用Eager与Lazy加载、批量操作与事务管理以及利用索引和数据库优化。通过正确配置多级缓存、分页查询、延迟加载、批量处理及合理创建索引,能够显著提高应用响应速度与吞吐量,改善用户体验。这些技巧需根据具体应用场景灵活调整,以实现最佳性能优化效果。
26 0