Java 包装类 - 基本数据类型、包装类与字符串相互转换

在Java中,基本数据类型(如int, double, boolean等)有对应的包装类(如Integer, Double, Boolean等)。这些包装类提供了很多有用的方法,比如类型转换、与字符串之间的转换等。下面是一些关于基本数据类型、包装类与字符串之间如何相互转换的例子。

基本数据类型与包装类之间的转换

自动装箱(Autoboxing)

当你将一个基本数据类型的值赋给一个包装类对象时,Java会自动进行装箱操作。

int primitiveInt = 10;
Integer wrapperInt = primitiveInt; // 自动装箱
自动拆箱(Autounboxing)

当你将一个包装类对象赋给一个基本数据类型变量时,Java会自动进行拆箱操作。

Integer wrapperInt = 10;
int primitiveInt = wrapperInt; // 自动拆箱

包装类与字符串之间的转换

包装类转换为字符串

可以使用toString()方法或字符串连接符(+)来将包装类对象转换为字符串。

Integer wrapperInt = 10;
String stringFromInt = wrapperInt.toString(); // 使用toString()方法
String anotherStringFromInt = "" + wrapperInt; // 使用字符串连接符
字符串转换为包装类

可以使用包装类提供的静态方法valueOf()parseXXX()(如parseInt(), parseDouble()等)来将字符串转换为对应的包装类对象。

String stringInt = "10";
Integer wrapperInt = Integer.valueOf(stringInt); // 使用valueOf()方法
// 或者
Integer anotherWrapperInt = Integer.parseInt(stringInt); // 使用parseInt()方法

注意:parseInt()等方法会抛出NumberFormatException,如果字符串不能被解析为有效的数字。因此,在使用这些方法时,最好使用try-catch块来捕获和处理可能的异常。

示例代码

下面是一个包含上述转换的示例代码:

public class TypeConversion {public static void main(String[] args) {// 基本数据类型与包装类之间的转换int primitiveInt = 10;Integer wrapperInt = primitiveInt; // 自动装箱int unwrappedInt = wrapperInt; // 自动拆箱System.out.println("Unwrapped int: " + unwrappedInt);// 包装类转换为字符串String stringFromInt = wrapperInt.toString();System.out.println("String from int: " + stringFromInt);// 字符串转换为包装类String stringDouble = "3.14";Double wrapperDouble = Double.valueOf(stringDouble);System.out.println("Wrapper double: " + wrapperDouble);// 使用try-catch处理可能的异常try {int numberFromString = Integer.parseInt("not a number");System.out.println("Parsed int: " + numberFromString);} catch (NumberFormatException e) {System.out.println("Could not parse string to int: " + e.getMessage());}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty向设备发送消息并等待设备响应

在使用netty开发和硬件对接时,经常会遇到服务端给硬件设备发送命令后需要等待设备反馈响应命令后执行逻辑。 一、定义同步等待 /*** author: 晨光* description: 同步等待* Version 1.0*/ public class SyncPromise {// 用于接收结果private BaseMessageInfoVo me…

计网总结☞物理层

五层协议体系结构->各层的功能有: 物理层 物理层的任务就是尽可能地屏蔽传输媒体的差异,透明地传送比特流(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第 0…

Python AI 编程助手:Fitten Code插件

一. 简介 今天为大家推荐一款适配了 Viusal Studio,VS Code(本文使用),JetBrains 系列(本文使用)以及Vim等多种编译器环境的插件 Fitten Code,Fitten Code 是由非十大模型驱动的 AI 编程助手,它可以自动生成代码,提升…

python --Datatframe 索引与列名操作

学习目标 知道如何查看索引及列名 知道如何修改索引及列名 1 数据准备 数据在文章顶部,找不到的可以主页私聊我 我们继续使用链家租房数据来学习本章节的API,导包并读取数据 import pandas as pd ​ # 加载数据集 df pd.read_csv(../data/LJdata.csv) # 获取天通…

【AIGC】基于大模型+知识库的Code Review实践

一、背景描述 一句话介绍就是:基于开源大模型 知识库的 Code Review 实践,类似一个代码评审助手(CR Copilot)。信息安全合规问题:公司内代码直接调 ChatGPT / Claude 会有安全/合规问题,为了使用 ChatGPT…

Mybatis CRUD操作

Mybatis 第一步-编写工具类 package com.ruoxue.utils;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import jav…

集合中removeIf和stream流的filter差异比较

一、背景 今天在看同事写的代码的时候,看到了一个我很少使用的集合操作,一般我习惯过滤集合的数据的时候,采用stream流当中的filter操作,但是同事使用的是removeIf,对此简单看了看两者的区别,对此进行记录…

STM32F103C8开发板 STM32最小系统核心板 AD硬件原理图+PCB封装文件分享

STM32F103C8开发板原理图 原理图和PCB下载地址: STM32F103C8开发板 STM32最小系统核心板 AD硬件原理图PCB封装文件.zip: https://url83.ctfile.com/f/45573183-1269573020-8f85b2?p7526 (访问密码: 7526)

新手指南:如何使用Python快速上手深度学习

新手指南:如何使用Python快速上手深度学习 对于刚入门的新手而言,开始深度学习的旅程可能看起来既令人兴奋又略感困惑。Python是进行深度学习研究和应用的首选语言,因为它拥有丰富的库和框架,能够简化深度学习模型的开发和测试过…

前端使用axios下载文件和上传文件

首先,axios实例在发起下载文件请求时,应该配置responseType: ‘blob’,例如: // axios发起下载文档请求 export const downloadDoc (id: string) > {return request.get(/downloadDoc?id${id}, {// 参考官方文档https://www…

Bio-Info 每日一题:Rosalind-04-Rabbits and Recurrence Relations

🎉 进入生物信息学的世界,与Rosalind一起探索吧!🧬 Rosalind是一个在线平台,专为学习和实践生物信息学而设计。该平台提供了一系列循序渐进的编程挑战,帮助用户从基础到高级掌握生物信息学知识。无论你是初…

指针在C/C++中的魔力:一级指针与二级指针

什么是指针? 指针是一个变量,它的值是另一个变量的地址。在C/C中,指针是一个强大的工具,可以让我们直接操作内存地址。指针的主要用途包括动态内存分配、数组和字符串处理、函数参数传递等。 一级指针 一级指针(也称为…

聊一聊大数据需求的流程

大致的流程:需求对接、口径梳理、数据开发、任务发布、任务监控、任务保障 流程图 startuml skinparam packageStyle rectangleactor 需求方 participant 数据BP as 数据组 participant 离线数仓 participant 实时数仓需求方 -> 数据组: 提出需求 数据组 -> …

Android 日志实时输出

开发中如果只是单纯的应用开发,Android studio基本上可以满足,但是如果应用和系统联调那就得用logcat实时输出了,我这里都是总结的实用经验,没那么多花里胡哨 Android 日志实时输出 1、输出 android log //分步,进入s…

造假高手——faker

在测试写好的代码时通常需要用到一些测试数据,大量的真实数据有时候很难获取,如果手动制造测试数据又过于繁重无聊,显得不够优雅,今天我们介绍的faker这个轮子可以完美的解决这个问题。faker是一个用于生成各种类型假数据的库&…

Spring AOP(实现,动态原理)详解版

Spring AOP 1.什么是AOP?1.1引入AOP依赖1.2编写AOP程序 2.Spring AOP核⼼概念2.1 切点(Pointcut)2.2连接点(Join Point)2.3通知(Advice)2.4 切⾯(Aspect) 3.通知类型3.1顺序3.2切⾯优先级 Order3.3 ⾃定义注解 MyAspect 4. Spring AOP 原理5 动态代理怎么实现5.1 JD…

D455相机RGB与深度图像对齐,缓解相机无效区域的问题

前言 上一次我们介绍了深度相机D455的使用:intel深度相机D455的使用-CSDN博客,我们也看到了相机检测到的无效区域。 在使用Intel深度相机D455时,我们经常会遇到深度图中的无效区域。这些无效区域可能由于黑色物体、光滑表面、透明物体以及视…

基于大模型 Gemma-7B 和 llama_index,轻松实现 NL2SQL

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

数字滤波器和模拟滤波器(一)

模拟滤波器和数字滤波器(一) 下面介绍模拟滤波器和数字滤波器的频率响应的异同,以及如何使用python地scipy.signal来绘制其频谱响应和冲激阶跃响应。在第二期将谈到如何设计模拟滤波器和数字滤波器。 在正文之间,应该介绍连续时…

嵌入式学习——Linux高级编程复习(目录IO、软硬连接、makefile)——day38

1. 目录IO 目录IO是指在计算机程序中对文件目录进行操作的一系列输入输出功能。这些操作允许程序创建、读取、修改和删除目录结构。在Unix/Linux系统和类似系统中,目录被视为特殊的文件,可以对其进行打开、读取、写入(修改)和关闭…