当前位置: 首页 > news >正文

杭州网站设计公司哪个好软文营销为什么要讲故事

杭州网站设计公司哪个好,软文营销为什么要讲故事,简洁企业网站源码,网站缩写的英文Java的基本数据类型和对应的包装类是Java语言中处理数据的两个关键概念。基本数据类型提供了简单而高效的方式来存储数据#xff0c;而包装类使得基本数据类型具有对象的特性。本文将深入探讨基本数据类型与包装类的应用场景及详细描述#xff0c;并对自动拆箱和装箱的源码实…Java的基本数据类型和对应的包装类是Java语言中处理数据的两个关键概念。基本数据类型提供了简单而高效的方式来存储数据而包装类使得基本数据类型具有对象的特性。本文将深入探讨基本数据类型与包装类的应用场景及详细描述并对自动拆箱和装箱的源码实现进行分析。 基本数据类型与包装类的详解及应用场景 详细对应关系如下 基本类型包装类型占用空间范围基本类型默认值分类byteByte1个字节 − 2 7 -2^7 −27~ 2 7 − 1 2^7-1 27−10整型shortShort2个字节 − 2 15 -2^{15} −215~ 2 15 − 1 2^{15} -1 215−10整型intInteger4个字节 − 2 31 -2^{31} −231~ 2 31 − 1 2^{31} -1 231−10整型longLong8个字节 − 2 63 -2^{63} −263~ 2 63 − 1 2^{63} -1 263−10整型floatFloat4个字节1.4E-45~3.4028235E380.0浮点型doubleDouble8个字节4.9E-324~1.7976931348623157E3080.0浮点型charCharacter2个字节‘\u0000’~‘\uffff’‘\u0000’ 0字符型booleanBoolean1个字节true/falsefalse布尔型 基本数据类型 Java的基本数据类型包括byte、short、int、long、float、double、char和boolean。它们是存储简单数据的理想选择具有较低的内存占用和更高的性能。基本数据类型通常在以下场景中被广泛应用 数值计算基本数据类型在数值计算场景中表现出色例如在科学计算、图形处理等领域。数组操作基本数据类型在数组和集合的存储中更为高效适用于需要大量数据存储的场景。原始数据表示基本数据类型是存储原始数据的首选方式对于一些简单的数据结构如位运算、枚举等基本数据类型更为直观和高效。 包装类 Java的包装类即Byte、Short、Integer、Long、Float、Double、Character和Boolean为基本数据类型提供了对象封装。包装类的应用场景主要包括 集合类使用集合类如List、Map等只能存储对象而基本数据类型需要通过包装类来转换为对象才能存储在集合中。泛型使用泛型不能直接使用基本数据类型而包装类可以作为泛型的类型参数使得泛型在处理数据时更为灵活。数据结构在一些数据结构的实现中需要使用包装类来处理一些特殊的数据情况。 基本数据类型与包装类的区别 基本数据类型和包装类在Java中有一些重要的区别涵盖了创建方式、存储方式、默认值等多个方面。以下是它们的主要区别 创建方式 基本数据类型 可以通过直接声明变量并赋值来创建基本数据类型的变量; 包装类包装类是引用类型因此可以使用关键字 new 实例化对象也可以使用自动装箱Autoboxing进行自动转换。例如 Integer integerObj new Integer(42); // 使用 new 实例化 Integer intObj new 42; // 自动装箱 Double doubleObj 3.14; // 自动装箱存储方式 基本数据类型 直接存储数值占用较小的内存空间存储在栈上。 包装类 存储在堆上由于是对象占用的内存空间相对较大同时需要考虑垃圾回收等额外的开销。 默认值 基本数据类型 如果在声明时未赋值基本数据类型会有默认值默认值查看详细关系表格。 包装类 如果在声明时未赋值包装类会默认为 null。因为包装类是引用类型而引用类型的默认值是 null。 自动装箱和拆箱 自动装箱Autoboxing 自动装箱是指将基本数据类型自动转换为对应的包装类。以Integer为例当执行Integer i 42;时实际上会调用Integer.valueOf(42)。下面是Integer.valueOf方法的源码 public static Integer valueOf(int i) {if (i IntegerCache.low i IntegerCache.high)return IntegerCache.cache[i (-IntegerCache.low)];return new Integer(i); }在这里IntegerCache是一个内部静态类用于缓存范围内的Integer对象以提高性能。如果值在缓存范围内直接返回缓存中的对象否则创建一个新的Integer对象。 自动拆箱Unboxing 自动拆箱是指将包装类自动转换为对应的基本数据类型。以Integer为例当执行int i integerObject;时实际上会调用integerObject.intValue()。下面是intValue方法的源码 public int intValue() {return value; }在这里value是Integer对象中存储的基本类型值。 自动拆装箱反编译代码 例如如下java代码 public class Test {public static void main(String[] args) {//自动装箱int intVal 2;Integer integerObj intVal;//自动拆箱Integer integerObj1 Integer.valueOf(4);int intVal1 integerObj1;System.out.println(integerObj:integerObj;intVal1:intVal1);} }我们可以看到反编译后的代码如下 public class Test {public static void main(String[] args){int intVal 2;Integer integerObj Integer.valueOf(intVal);Integer integerObj1 Integer.valueOf(4);int intVal1 integerObj1.intValue();System.out.println(integerObj: integerObj ;intVal1: intVal1);} }通过反编译后的代码我们可以看到它拆装箱其实是调用了valueOf()和intValue()的实现自动拆装箱的 自动拆装箱使用场景 以下是一些使用自动拆装箱的常见场景 集合框架 在集合类中通常要求存储对象而不是基本数据类型。使用自动装箱可以将基本数据类型直接放入集合中而在获取元素时会自动进行拆箱。 ListInteger integerList new ArrayList(); integerList.add(2); // 自动装箱 int value integerList.get(0); // 自动拆箱泛型 泛型在定义时需要指定引用类型而不能使用基本数据类型。通过自动装箱和拆箱可以在泛型中直接使用基本数据类型。 ListInteger integerList new ArrayList(); integerList.add(2); // 自动装箱 int value integerList.get(0); // 自动拆箱方法参数传递 在方法的参数列表和返回值中可以直接使用基本数据类型而方法的实现中会自动进行拆箱和装箱。 public void processInteger(Integer value) {// 自动拆箱int result value 10;System.out.println(result); }public Integer getInteger() {// 自动装箱return 42; }比较操作 在比较操作中可以直接比较基本数据类型的值而不必显式地进行拆箱 Integer a 42; int b 42; if (a b) {// 自动拆箱System.out.println(Equal); }数组列表的排序 使用 Collections.sort 对包含基本数据类型的包装类对象的列表进行排序。 ListInteger integerList new ArrayList(); integerList.add(3); integerList.add(1); integerList.add(2);Collections.sort(integerList); // 自动拆箱和装箱这些场景中自动拆装箱的机制简化了代码提高了代码的可读性和编写效率。但需要注意频繁的自动拆装箱操作可能会带来一些性能开销特别是在性能敏感的代码中需要谨慎使用。 总结 通过本文的详细解析我们深入了解了Java基本数据类型和包装类的应用场景、特性并通过源码分析了自动拆箱和装箱的实现原理。在实际开发中理解这些概念和机制将帮助我们更好地选择合适的数据类型并优雅地处理基本数据类型与包装类之间的转换。这对于构建性能高效、可维护的Java应用程序至关重要。但需要注意频繁的自动拆装箱操作可能会带来一些性能开销特别是在性能敏感的代码中需要谨慎使用。
http://www.zqtcl.cn/news/302028/

相关文章:

  • 北京网站维护公司专业外贸网站建设_诚信_青岛
  • 网站自己做还是用程序制作网站一般使用的软件有哪些
  • 晨雷文化传媒网站建设济南互联网品牌设计
  • 怎样给自己的网站做防红连接梵客装饰公司官网
  • 甘肃省城乡与住房建设厅网站纪检网站建设动态主题
  • 关于做好全国网站建设网站建设哪个好
  • 灵犀科技网站建设企业建设网站作用
  • 做网站架构图无版权图片网站
  • 赌场需要网站维护吗通过服务推广网站的案例
  • 阿里云网站空间网站建设犭金手指六六壹柒
  • 网站排名软件包年农业网站开发
  • 建设信用卡网银网站crm客户关系管理论文
  • 阿里巴巴网站的搜索引擎优化案例软件开发收费价目表
  • 企业网站建设之域名篇wordpress 文章居中
  • 萍乡网站建设行吗南康建设局官方网站
  • 一键部署wordpress爱站seo工具
  • 大连网站建设服务做进料加工在哪个网站上做
  • 南昌行业网站建设网站版权信息修改
  • 百度网站关键词排名助手低成本做网站 白之家
  • 怎么查询网站是谁做的部队网站建设报告
  • 租房网站开发专业网站建设品牌策划方案
  • 电子商务网站建设方案书软件开发工具图片
  • 案例建网站宿松网站建设公司
  • 秦皇岛网站开发wordpress免费国内主题
  • seo网站推广推荐阳江房管局查询房产信息网
  • php服装商城网站建设个人网站免费空间
  • 做内贸注册什么网站广州市建设交易中心网站
  • 点样用外网访问自己做的网站北京市网站设计公司网址
  • 用备案的网站做违法网站wordpress个性404
  • 中国制造网官方网站下载安装我国做民宿的网站