0

0

Java I/O 操作 - 包装类与原始类变量

PHPz

PHPz

发布时间:2023-09-14 10:45:03

|

930人浏览过

|

来源于tutorialspoint

转载

java i/o 操作 - 包装类与原始类变量

Java 输入/输出 (I/O) 操作在处理各种类型的数据中发挥着至关重要的作用,使我们能够读取和写入不同的源,例如文件、网络连接和标准输入/输出流。在Java中处理输入和输出时,我们会遇到需要处理原始数据和对象类型数据的情况。 Java 提供了两个选项来促进这一点:包装类或直接使用原始类变量。

本教程将向我们介绍包装类和原始数据类型。对于使用这些方法,每种方法都有其优点和注意事项,我们将深入研究这些优点和注意事项,以帮助您在 Java I/O 操作时做出明智的决策。

原始数据类型

原始数据类型,例如“int”、“float”、“boolean”和“char”,代表 Java 中数据的基本构建块。它们不是对象,并且没有像包装类那样的附加功能或方法。在 I/O 操作中使用原始数据类型时,您可以直接对原始值进行操作。

原始数据类型具有根据其类型分配的默认值。例如,“int”、“byte”和“short”变量分配默认值 0,“float”和“double”变量分配默认值 0.0,布尔变量分配默认值 false。 char 基元数据类型的默认值是值为 '\u0000' 的 Unicode 字符。它代表空字符,这是一个不可打印的字符。

立即学习Java免费学习笔记(深入)”;

以下是使用原始数据类型进行 I/O 操作时需要考虑的一些关键方面 -

性能注意事项

与包装类相比,原始数据类型提供更好的性能。它们的内存占用较小,并且需要较少的资源来存储和操作数据。

直接数据操作

原始数据类型允许您直接使用原始值,这在您需要对数据进行细粒度控制时非常有用。您可以执行数学运算、按位运算和其他低级操作,而无需面向对象操作的开销。

功能限制

与包装类不同,原始数据类型不提供用于数字转换或格式化等操作的实用方法。使用原始类型时,您可能需要手动实现此类功能或依赖其他库的辅助方法。

包装类

Java 中的包装类(例如“Integer”、“Float”、“Boolean”和“Character”)提供了用于处理原始数据类型的面向对象功能。它们允许您将基本类型视为对象,并提供单独的基本数据类型所不可用的附加方法和操作。

Cursor
Cursor

一个新的IDE,使用AI来帮助您重构、理解、调试和编写代码。

下载

当未显式分配值时,包装类将使用默认值“null”进行初始化,因为它们是对象。以下是使用包装类进行 I/O 操作时需要考虑的一些关键方面 -

装箱和拆箱

包装类通过装箱和拆箱促进基本类型和对象之间的转换过程。装箱涉及将原始值包装在其相应的包装器类对象中,而拆箱则从包装器对象中提取原始值。这允许您在需要对象的 I/O 操作中使用原始类型。

实用方法

包装类为相应基元类型上的各种操作提供实用方法。例如,Integer 类提供了将字符串转换为整数、执行数学运算以及处理数字格式的方法。

与泛型和集合的互操作性

包装类在涉及泛型和集合的场景中起着至关重要的作用。由于 Java 中的泛型仅接受引用类型,因此使用包装类允许您在泛型类和集合中使用原始类型。这使您能够在 I/O 操作中处理不同类型的数据时利用泛型的强大功能。

原始数据类型的包装类

Java 中的包装类提供了一种在原始数据类型及其相应对象之间进行转换的方法。这种转换(称为拆箱)允许无缝互换并允许访问包装类对象内的原始值。

示例

在示例代码中,自动装箱用于将值 3.14 分配给“Double”包装器类对象,而拆箱则将包装器对象转换回原始“double”。

public class Main {
   public static void main(String[] args) {
      // Autoboxing: wrapper class value
      Double wrapperValue = 3.14;         
      // Unboxing: conversion to double
      double primitiveValue = wrapperValue;         
      System.out.println("Primitive Value: " + primitiveValue);
   }
}

输出

Primitive Value: 3.14

原始数据类型到包装类

Java 允许从原始数据类型转换为其相应的包装类,称为自动装箱。这种自动转换通过将基元值直接分配给包装类对象来简化代码,从而促进需要对象而不是基元的操作。

示例

在示例代码中,布尔原始值“true”被分配给“primitiveValue”。然后使用自动装箱将此原始值转换为“布尔”包装类对象“wrapperValue”。

public class Main {
   public static void main(String[] args) {
      // Primitive data type value
      boolean primitiveValue = true;         
      // Autoboxing: conversion to Boolean
      Boolean wrapperValue = Boolean.valueOf(primitiveValue);         
      System.out.println("Wrapper Value: " + wrapperValue);
   }
}

输出

Wrapper Value: true

结论

总之,在使用 Java I/O 操作时有两种选择:使用包装类或直接使用原始数据类型。两种方法都有其优点和考虑因素。使用原始数据类型时,您可以直接使用原始值,这提供了更好的性能、直接的数据操作和更小的内存占用。另一方面,包装类提供了用于处理原始数据类型的面向对象的功能。最终,包装类和原始数据类型之间的选择取决于您的要求和性能考虑。

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

804

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

722

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

727

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

395

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

445

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

428

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16861

2023.08.03

vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

28

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号