java之包装类

包装类

1.所有基本数据类型的包装类

在java中,数据类型分为:基本数据类型和引用数据类型。而包装类就是对基本数据类型进行包装,使其具有引用数据类型的特征,并添加一些方法可供使用。

基本数据类型包装类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

2.数据的装箱与拆箱

装箱:将基本数据类型转为包装类型

//1.用包装类的构造方法
Integer i = new Integer(10);

//2.使用valueOf方法
Integer i2 = Integer.valueOf(10);

拆箱:就是将包装类型转为基本数据类型

//1.intValue
int n = i.intValue();

自动装箱与自动拆箱
JDK1.4后,装箱和拆箱是可以自动完成的

//自动装箱
Integer i3 = 10;

//自动拆箱
int n2 = i3;

3.基本数据类型与字符串之间的转换

基本数据类型转为字符串类型

//1.此方法可以实现,但是不推荐使用(开辟新的空间)
String s = 10 + "";

//2.使用String类的valueOf方法
String s1 = String.valueOf(100);//"100"
String s2 = String.valueOf(false);//"false"

//3. Object类的toString方法
String s3 = Integer.valueOf(100).toString();

字符串类型转为基本数据类型

//1.包装类的parseXXX 方法
int i = Integer.parseInt("123");
System.out.println(i + 1);//输出124而不是1231说明转换成功

//2.包装类的valueOf方法
int i2 = Integer.valueOf("123");//这个隐藏实现了自动拆箱
System.out.println(i2 + 1);//输出124而不是1231说明转换成功

注意事项:

  • 字符串如果无法转型为想要的类型会抛出异常
//无法转为int类型,抛出了NumberFormatException异常
int i = Integer.parseInt("123a");
System.out.println(i);
  • 对于boolean的转型:只有true字符串能转为true,其他都为false
//字符串转为false
boolean b = Boolean.parseBoolean("123");
System.out.println(b);

//字符串true转为true,跟大小写无关,TrUe也能转换成功
boolean b2 = Boolean.parseBoolean("true");
System.out.println(b2);

4.案例

Integer a1 = Integer.valueOf(10);
Integer a2 = Integer.valueOf(10);
System.out.println(a1 == a2);//结果为true

Integer a3 = Integer.valueOf(200);
Integer a4 = Integer.valueOf(200);
System.out.println(a3 == a4);//结果为false

为什么结果会不同呢?
按住Ctrl点击valueOf看源码,可以知道,系统对-128到127做了特殊处理,将他们的Integer对象存在了一个数组中,每次都去取对应的Integer对象,所以每次取到的10的包装类型都是同一个,所以a1 == a2是true;而超过127的数,是没有做处理的,也就是做直接返回new Integer(),每次都产生一个新的对象,他们自然不是同一个对象了。所以a3 == a4是false

随着全民健身事业的深入推进与户外运动的快速普及,定向越野赛事举办频次持续提升,赛事规模与参与人数不断增长,参与者与组织者对赛事组织效率、服务质量及管理规范化的要求日益提高。然而,传统定向越野赛事管理仍依赖人工登记、线下核对、纸质记录等方式,普遍存在信息同步滞后、流程繁琐易错、数据统计低效、成绩核算耗时、资金与签到管理不规范等突出问题。例如,人工报名信息核对易出现遗漏与错误,现场签到排队拥堵影响参赛体验,成绩人工录入误差率高,赛事资金与物资管理缺乏透明化监管。这些问题不仅大幅增加赛事组织成本与人力消耗,还制约赛事运营效率与整体服务水平提升。在此背景下,构建一套数字化、一体化的定向越野赛事管理系统,成为赛事运营主体优化管理模式、提升服务质量的迫切需求。本研究旨在通过信息化技术重构赛事管理全流程,解决传统模式下的信息孤岛与操作低效问题,为定向越野赛事规范化、智能化管理提供可落地的解决方案。 本研究基于 Spring Boot 与 Vue 技术栈,采用前后端分离架构设计并实现了一套定向越野赛事管理系统。技术层面:后端依托 Spring Boot 框架搭建 RESTful API 服务,利用其自动配置与模块化特性简化开发流程,集成 MyBatis-Plus 优化数据持久化操作;前端采用 Vue.js 框架实现组件化开发,通过 Element UI 组件库构建交互友好的可视化界面,利用 Axios 实现前后端数据动态交互;数据库选用 MySQL 保障数据高效存储与事务一致性,同时采用手机号短信验证、JWT 令牌等机制强化系统安全性与用户权限管理。 本系统的实施为定向越野赛事运营与管理提供了显著的现实价值:其一,通过线上报名、信息筛选与自动化核对,大幅降低人工操作误差,提升赛事组织效率 30% 以上;其二,定位打卡签到与实时成绩同步功能,实现参赛流程无纸化、智能化,显著改善参赛者体验;其
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值