ps网站界面设计介绍类网站建设策划书范文

张小明 2025/12/31 22:16:14
ps网站界面设计,介绍类网站建设策划书范文,服务器里怎么建设网站,西安网站建设哪里好前言#xff1a;在 Java 开发中#xff0c;int 和 Integer 的区别看似是入门级知识#xff0c;但在实际生产环境和面试中#xff0c;这里却隐藏着无数的“坑”。为什么有时候 比较会失效#xff1f;为什么简单的赋值会抛出空指针异常#xff1f;本文将深入剖析 Java 基本…前言在 Java 开发中int 和 Integer 的区别看似是入门级知识但在实际生产环境和面试中这里却隐藏着无数的“坑”。为什么有时候 比较会失效为什么简单的赋值会抛出空指针异常本文将深入剖析 Java 基本类型与包装类的底层机制带你搞懂自动装箱、缓存池以及常见的性能陷阱。一、 基本类型 vs 包装类型不仅是“名字”不同Java 虽然是面向对象的语言但为了性能考虑保留了 8 种基本数据类型。而为了让这些数据能适配泛型、集合等对象机制Java 又提供了对应的包装类。1. 核心区别对比维度基本数据类型 (int, double 等)包装类型 (Integer, Double 等)默认值0,0.0,false等null(这是最容易踩坑的点)存储位置主要在栈 (Stack)(局部变量)几乎都在堆 (Heap)中泛型支持不支持 (如Listint❌)支持 (如ListInteger✅)比较方式比较的是数值必须使用equals()(除非你完全理解缓存机制)占用空间非常小高效较大包含对象头等元数据 关于存储位置的补充虽然我们常说“对象在堆基本类型在栈”但随着 JIT 编译器的优化逃逸分析如果一个对象没有逃逸出方法它是有可能通过标量替换在栈上分配的。但在大多数常规理解中认为包装类对象在堆中是没问题的。2. 包装类的继承体系除了boolean和char其他的数字类型包装类都继承自java.lang.Number这意味着它们都有互相转换的方法如intValue(),doubleValue()。数值型 (继承 Number):Byte,Short,Integer,Long,Float,Double非数值型:Boolean,Character二、 什么是自动装箱与拆箱在 Java 5 之前基本类型和包装类型互转非常麻烦。后来引入了自动装箱/拆箱本质上是编译器的语法糖。1. 自动装箱 (Auto-boxing)定义基本类型 - 包装类型。场景Integer a 100;底层原理编译器自动帮你调用了Integer.valueOf(100)。2. 自动拆箱 (Auto-unboxing)定义包装类型 - 基本类型。场景int b a;底层原理编译器自动帮你调用了a.intValue()。3.parseIntvsvalueOf的区别这也是代码审查中常被问到的细节Integer.parseInt(s)返回int。效率高直接解析数字不产生对象垃圾。Integer.valueOf(s)返回Integer。内部先调用parseInt然后尝试走缓存池获取对象。三、 高频面试坑与避坑指南了解了原理我们来看看那些让无数新手甚至老手翻车的经典场景。 陷阱 1Integer Cache (缓存池)这也是为什么一定要用 equals 比较的原因。Java 为了优化性能对 Byte, Short, Integer, Long 都在内部维护了一个缓存池。Integer 的默认缓存范围是 -128 到 127。看下面的代码public class IntegerTrap { public static void main(String[] args) { // --- 场景 A在缓存范围内 (-128 ~ 127) --- Integer a 100; // 自动装箱 - Integer.valueOf(100) - 命中缓存 Integer b 100; System.out.println(a b); // 输出 true // 原因a 和 b 指向堆内存中同一个缓存对象地址 // --- 场景 B超出缓存范围 --- Integer c 200; // 自动装箱 - Integer.valueOf(200) - 创建新对象 Integer d 200; System.out.println(c d); // 输出 false // 原因c 和 d 是两个不同的对象地址不同 // --- 正确做法 --- System.out.println(c.equals(d)); // 输出 true (值比较) } } 陷阱 2致命的 NPE (空指针异常)由于包装类的默认值是null而自动拆箱需要调用实例方法如intValue()一旦变量为空程序就会崩溃。public class NPETest { public void riskMethod() { Integer count null; // 比如从数据库查出来是 null // ❌ 危险操作 // 编译器会把这行编译为int result count.intValue(); // 因为 count 是 null抛出 NullPointerException int result count; } } 陷阱 3三元运算符的隐式拆箱这是一个非常隐蔽的坑Integer a null; Integer b 10; // 如果三元运算符两边类型不一致一个是Integer一个是int // 会触发自动拆箱导致 NPE Integer c (a ! null) ? a : 0; // 安全四、 总结与最佳实践比较原则所有包装类对象之间值的比较严禁使用必须使用equals()。实体类定义POJO 类如数据库实体的属性推荐使用包装类型Integer。理由数据库字段可能是NULL如果用int接收NULL会报错或者默认变成 0导致业务含义混淆0 代表“未评分”还是“0分”。计算与赋值在使用包装类型进行计算或赋值给基本类型之前务必进行null值检查。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

国外手机网站源码网站备案的意义

Langchain-Chatchat安全漏洞扫描:已知CVE对应修复措施查询 在企业加速推进AI落地的今天,越来越多组织选择部署本地化大模型应用来处理敏感知识资产。Langchain-Chatchat 作为当前最受欢迎的开源私有知识库问答系统之一,凭借其对 LangChain 框…

张小明 2025/12/22 15:26:55 网站建设

门户网站建设工序建门户网站要多少钱

第一章:边缘Agent镜像瘦身的背景与挑战在边缘计算架构中,Agent作为连接云端与终端设备的核心组件,通常以容器化形式部署于资源受限的边缘节点。随着业务功能的不断叠加,Agent镜像体积日益膨胀,导致启动延迟增加、网络传…

张小明 2025/12/22 15:25:54 网站建设

做暧昧视频网站百度怎么搜索到自己的网站

ARM NEON性能加速:Ne10库的5大优化策略完整指南 【免费下载链接】Ne10 An open optimized software library project for the ARM Architecture 项目地址: https://gitcode.com/gh_mirrors/ne/Ne10 开篇引语 在当今嵌入式系统和移动设备领域,ARM…

张小明 2025/12/22 15:24:52 网站建设

短视频推广平台有哪些seo推广技术

C# 中的反射、特性与动态编程 1. 特性相关 特性(Attributes)在编程中扮演着重要角色。例如 SerializableAttribute 对应的 CIL 代码如下: beforefieldinit Person extends [mscorlib]System.Object { } // end of class Person而一般的特性(包括大多数预定义特性)…

张小明 2025/12/22 15:23:51 网站建设

各大网站头条电脑如何重新安装wordpress

115云盘Kodi插件:家庭影院云端播放完美解决方案 【免费下载链接】115proxy-for-kodi 115原码播放服务Kodi插件 项目地址: https://gitcode.com/gh_mirrors/11/115proxy-for-kodi 还在为电视播放115云盘视频而困扰吗?这款专为Kodi设计的115proxy-f…

张小明 2025/12/30 22:21:03 网站建设

文化传媒公司网站建设服装网站建设的目的和意义

Kotaemon实时索引更新能力测评 在当今企业知识系统日益动态化的背景下,用户对“刚写进去的内容能不能马上搜到”这一问题的容忍度越来越低。无论是客服团队发布新的解决方案,还是研发人员提交最新文档,信息的 即时可见性 已成为衡量智能搜索…

张小明 2025/12/22 15:21:49 网站建设