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

国内权重网站排名免费正能量网站下载ww

国内权重网站排名,免费正能量网站下载ww,什么网站能免费做推广,如何做网页公证文章目录 1. 基本概念2. 自动装箱与拆箱3. 缓存机制4. 不可变性5. 常见陷阱与最佳实践a. 空指针异常b. 不要用 比较两个包装类实例c. 高精度计算d. 字符串解析 总结 1. 基本概念 Java提供了每个基本数据类型的包装类#xff0c;位于java.lang包中。这些包装类允许我们将基本… 文章目录 1. 基本概念2. 自动装箱与拆箱3. 缓存机制4. 不可变性5. 常见陷阱与最佳实践a. 空指针异常b. 不要用 比较两个包装类实例c. 高精度计算d. 字符串解析 总结 1. 基本概念 Java提供了每个基本数据类型的包装类位于java.lang包中。这些包装类允许我们将基本数据类型作为对象处理从而在需要面向对象功能的地方如集合框架、泛型编程非常有用。 2. 自动装箱与拆箱 public class AutoBoxingUnboxing {public static void main(String[] args) {// 自动装箱Integer num 42; // int - Integer// 自动拆箱int value num; // Integer - int// 使用包装类进行数学运算会自动拆箱Integer sum num 5;System.out.println(num: num);System.out.println(value: value);System.out.println(sum: sum);} }3. 缓存机制 某些包装类如Integer对特定范围内的值实现了缓存默认为-128到127之间的值。这意味着在这个范围内的值使用 valueOf() 方法时不会创建新的对象。 public class CacheMechanism {public static void main(String[] args) {// 缓存范围内的值比较Integer i1 Integer.valueOf(100); // -128 100 127Integer i2 Integer.valueOf(100); // -128 100 127System.out.println(i1 i2); // true因为它们引用同一个对象// 超出缓存范围的值比较Integer i3 Integer.valueOf(300); // 300 127Integer i4 Integer.valueOf(300); // 300 127System.out.println(i3 i4); // false因为它们引用不同的对象} }4. 不可变性 所有包装类都是不可变的一旦创建后其内部状态不能被修改。如果需要改变值必须创建新的对象。 public class ImmutabilityExample {public static void main(String[] args) {Integer immutableInt Integer.valueOf(42);// 如果需要改变值必须创建新的对象Integer newInt immutableInt 1;System.out.println(Original: immutableInt); // 输出42System.out.println(New: newInt); // 输出43} }5. 常见陷阱与最佳实践 a. 空指针异常 在拆箱操作中如果包装类实例为 null则会抛出 NullPointerException。 public class NullPointerTrap {public static void main(String[] args) {Integer nullableInt null;try {int value nullableInt; // 这里会抛出 NullPointerException} catch (NullPointerException e) {System.out.println(Caught NullPointerException);}} }b. 不要用 比较两个包装类实例 应该使用 equals() 或者对于数字类型的包装类可以使用 compareTo() 方法。 public class ComparisonTrap {public static void main(String[] args) {Integer i1 new Integer(100);Integer i2 new Integer(100);// 错误的做法使用 比较对象引用System.out.println(i1 i2); // 可能输出false// 正确的做法使用 equals() 比较值System.out.println(i1.equals(i2)); // 输出true// 对于数字类型的包装类也可以使用 compareTo()System.out.println(i1.compareTo(i2) 0); // 输出true} }c. 高精度计算 对于需要高精度的计算推荐使用 BigDecimal 来避免浮点数精度丢失的问题。 import java.math.BigDecimal;public class HighPrecisionCalculation {public static void main(String[] args) {BigDecimal preciseValue new BigDecimal(0.1);BigDecimal result preciseValue.multiply(new BigDecimal(3));System.out.println(Precise result: result); // 输出0.3// 浮点数可能有精度问题double impreciseValue 0.1;double impreciseResult impreciseValue * 3;System.out.println(Imprecise result: impreciseResult); // 输出0.30000000000000004} }d. 字符串解析 处理可能抛出的 NumberFormatException确保输入格式正确。 public class StringParsing {public static void main(String[] args) {try {int number Integer.parseInt(123abc); // 这里会抛出 NumberFormatException} catch (NumberFormatException e) {System.out.println(Invalid number format);}// 成功解析try {int number Integer.parseInt(123);System.out.println(Parsed number: number);} catch (NumberFormatException e) {System.out.println(Invalid number format);}} }总结 通过上述代码示例我们综合了Java数据包装类型的关键特性包括 自动装箱与拆箱简化了基本数据类型与对象之间的转换。缓存机制提高了性能并减少了内存占用。不可变性保证了线程安全性和共享安全性。常见陷阱与最佳实践避免了常见的错误如空指针异常、不正确的比较方式、浮点数精度丢失以及字符串解析失败。
http://www.hkea.cn/news/14498599/

相关文章:

  • 如何用ftp登陆网站浅析个人网站的设计论文
  • html网站的直播怎么做的个人响应式网站设计
  • 中国建设银行抚州分行网站宜春网络营销是什么
  • php如何自学做网站网站设计建设 公司
  • 电商网站开发用什么语言变现流量推广app
  • 怎么做网站可手机看wordpress固定链接设置自定义结构
  • 新野网站建设全网营销网站建设
  • 怎么做个小程序企业网站标题优化
  • 用什么网站可以做电子书中文搭建式软件开发工具
  • jsp做网站用到的软件模板速成网站
  • 东莞建外贸网站好装饰工程经营范围有哪些
  • 抚顺您做煮火锅网站龙江网站建设
  • js网站开发教程深圳网站建设外包公司排名
  • 网站图片水印wordpress 演示
  • 网站建设方案企业东莞市建设网站
  • 网站优化排名技巧手机端网站推广
  • 网站建设一般用什么软件新强生产建设兵团网站
  • 前端效果网站asp.net购物网站模板
  • 写作网站起点上海开发小程序
  • 网站排名优化公司常德市住房和城乡建设局网站
  • 高端自适应网站石家庄公司的网站设计
  • 北京房山网站建设产品更新培训wordpress生成文档插件
  • 自己建设网站要花多少钱网站建设规划总结
  • 天津建设工程注册中心网站wordpress 视频无广告
  • 电商网站设计公司有哪些公司网站建设需要收集什么信息
  • 个人网站备案网址导航专业网站制作公司咨询
  • 温州企业自助建站系统手机浏览wordpress
  • 上海网站建设特点wordpress页面判断
  • 婚恋网站建设方案2022年国际新闻
  • 如何做分销型网站广告设计图片 创意