花几千上万学习Java,真没必要!(二十九)
1、基本数据类型包装类:

测试代码1:
package apitest.com;
//使用Integer类的不同方法处理整数。
//将字符串转换为整数(parseInt)和Integer对象(valueOf),
//将整数转换回字符串(toString)以及转换为十六进制(toHexString)、八进制(toOctalString)和二进制(toBinaryString)字符串。
//使用bitCount、highestOneBit和lowestOneBit方法处理整数的位。
//使用Integer对象的compareTo方法来比较两个Integer对象。
public class IntegerMethodsDemo { public static void main(String[] args) { // 字符串转整数 String str = "123"; int numFromString = Integer.parseInt(str); System.out.println("parseInt: " + numFromString); // 字符串转Integer对象 Integer intObj = Integer.valueOf(str); System.out.println("valueOf(String): " + intObj); // int转Integer对象 Integer intObj2 = Integer.valueOf(456); System.out.println("valueOf(int): " + intObj2); // 整数转字符串 String numAsString = Integer.toString(numFromString); System.out.println("toString: " + numAsString); // 整数转十六进制字符串 String hexString = Integer.toHexString(numFromString); System.out.println("toHexString: " + hexString); // 整数转八进制字符串 String octalString = Integer.toOctalString(numFromString); System.out.println("toOctalString: " + octalString); // 整数转二进制字符串 String binaryString = Integer.toBinaryString(numFromString); System.out.println("toBinaryString: " + binaryString); // 位操作方法 int numBits = 9; // 二进制: 1001 System.out.println("bitCount: " + Integer.bitCount(numBits)); System.out.println("highestOneBit: " + Integer.highestOneBit(numBits)); System.out.println("lowestOneBit: " + Integer.lowestOneBit(numBits)); // Integer对象比较 Integer int1 = 100; Integer int2 = 200; System.out.println("compareTo: " + int1.compareTo(int2)); // 输出: -1 }
}
运行结果如下:

测试代码2:
package apitest.com;
//创建一个IntAndStringConversion类,包含三个静态方法:intToString、stringToInt和hexStringToInt。
//将int转换为String,String转换为int,将十六进制String转换为int。
public class IntAndStringConversion { public static void main(String[] args) { // int 到 String 的转换 int number = 123; String strFromInt = intToString(number); System.out.println("int to String: " + strFromInt); // String 到 int 的转换 String str = "456"; try { int numFromString = stringToInt(str); System.out.println("String to int: " + numFromString); } catch (NumberFormatException e) { System.out.println("Error: The string cannot be parsed as an integer."); } // 十六进制字符串到 int 的转换 String hexStr = "1C8"; try { int hexNum = hexStringToInt(hexStr); System.out.println("Hex String to int: " + hexNum); } catch (NumberFormatException e) { System.out.println("Error: The hex string cannot be parsed as an integer."); } } // int 到 String 的转换 public static String intToString(int number) { return String.valueOf(number); } // String 到 int 的转换(处理异常) public static int stringToInt(String str) throws NumberFormatException { return Integer.parseInt(str); } //非数字字符的字符串转换为整数时,会抛出异常。// 十六进制字符串到 int 的转换(处理异常) public static int hexStringToInt(String hexStr) throws NumberFormatException { return Integer.parseInt(hexStr, 16); }
}
运行结果如下:

2、字符串中的数字排序:
package apitest.com;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
//字符串中数字排序是通过正则表达式或遍历字符串来提取所有的数字,
//然后将这些数字存储到某种集合(如List<Integer>)中,接着对这个集合进行排序,
//最后将排序后的数字重新组合成字符串。
public class SortNumbersInString {public static String sortNumbersInString(String input) {List<Integer> numbers = new ArrayList<>();StringBuilder sb = new StringBuilder();for (char c : input.toCharArray()) {if (Character.isDigit(c)) {numbers.add(Integer.parseInt(String.valueOf(c)));} else {sb.append(c);}}Collections.sort(numbers, Comparator.naturalOrder());for (int num : numbers) {sb.append(num);}return sb.toString();}public static void main(String[] args) {String input = "327810hello82world975java310";String sortedString = sortNumbersInString(input);System.out.println("Sorted string: " + sortedString);}
}
运行结果如下:

3、自动装箱和自动拆箱:
package apitest.com;
public class AutoBoxingAndUnboxing { //自动装箱:将基本数据类型自动转换为对应的包装类对象。//自动拆箱:将包装类对象自动转换为对应的基本数据类型。 //性能影响:自动装箱和自动拆箱可能会导致性能下降,因为每次装箱和拆箱时都会创建新的对象(对于装箱)或执行类型转换(对于拆箱)。//在性能敏感的应用中,应当避免不必要的装箱和拆箱操作。//空指针异常:自动拆箱一个null的包装类对象时,会抛出NullPointerException。需要特别注意处理可能为null的包装类对象。//缓存机制:自动装箱的某些基本数据类型(比如Integer、Short、Byte、Character和Boolean,在-128到127之间的Integer值)有特殊的缓存机制。//这个范围内的Integer对象会被缓存,相同的值不会重复创建新的对象。但这并不影响自动拆箱可能导致的NullPointerException。public static void main(String[] args) { // 自动装箱 Integer integerObject = 5; // int -> Integer // 使用integerObject像使用Integer对象一样 System.out.println("Integer value: " + integerObject); // 自动拆箱 int intValue = integerObject; // Integer -> int // 现在intValue是一个基本数据类型int System.out.println("int value: " + intValue); // 自动拆箱可能导致NullPointerException Integer nullableInteger = null; try { int willThrowNPE = nullableInteger; // 尝试自动拆箱 } catch (NullPointerException e) { System.out.println("Caught NullPointerException: Cannot unbox null value."); } // 避免自动拆箱导致的NullPointerException int safeIntValue = nullableInteger != null ? nullableInteger : 0; System.out.println("Safe int value: " + safeIntValue); }
}
运行结果如下:

4、Date类:
测试代码1:
package apitest.com;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; public class DateTimeExample { public static void main(String[] args) { // 打印当前日期 printCurrentDate(); // 打印当前日期和时间,并格式化为字符串 printCurrentDateTimeFormatted(); } // 打印当前日期 public static void printCurrentDate() { LocalDate currentDate = LocalDate.now(); System.out.println("当前日期: " + currentDate); } // 打印当前日期和时间,并格式化为字符串 public static void printCurrentDateTimeFormatted() { LocalDateTime currentTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = currentTime.format(formatter); System.out.println("当前日期和时间(格式化): " + formattedDateTime); }
}
测试代码2:
package apitest.com;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; public class DateFormatExamples { public static void main(String[] args) { // 创建一个LocalDate实例 LocalDate date = LocalDate.now(); // 创建一个LocalDateTime实例 LocalDateTime dateTime = LocalDateTime.now(); // 定义并打印不同的日期格式 DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); System.out.println("格式1: " + date.format(formatter1)); // 例如:2023-10-05 DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("dd/MM/yyyy"); System.out.println("格式2: " + date.format(formatter2)); // 例如:05/10/2023 DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy"); System.out.println("格式3: " + date.format(formatter3)); // 例如:Thu, 5 Oct 2023 // 定义并打印不同的日期时间格式 DateTimeFormatter formatter4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); System.out.println("格式4: " + dateTime.format(formatter4)); // 例如:2023-10-05 14:30:45 DateTimeFormatter formatter5 = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm a"); System.out.println("格式5: " + dateTime.format(formatter5)); // 例如:05/10/2023 02:30 PM(取决于当前时间) DateTimeFormatter formatter6 = DateTimeFormatter.ISO_LOCAL_DATE_TIME; System.out.println("ISO格式: " + dateTime.format(formatter6)); // 例如:2023-10-05T14:30:45 }
}
运行结果如下:

测试代码3:
package apitest.com;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Locale; public class DateParseExamples { public static void main(String[] args) { String dateString1 = "2023-10-05"; String dateString2 = "05/10/2023"; String dateString3 = "Thu, 5 Oct 2023"; String dateTimeString = "2023-10-05 14:30:45"; try { DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate date1 = LocalDate.parse(dateString1, formatter1); System.out.println("解析的日期1: " + date1); DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate date2 = LocalDate.parse(dateString2, formatter2); System.out.println("解析的日期2: " + date2); // 使用 DateTimeFormatter 解析包含星期几的日期字符串 DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy", Locale.ENGLISH); LocalDate date3 = LocalDate.parse(dateString3, formatter3); System.out.println("解析的日期3: " + date3); DateTimeFormatter formatter4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter4); System.out.println("解析的日期时间: " + dateTime); } catch (DateTimeParseException e) { System.err.println("日期时间解析错误: " + e.getMessage()); } }
}
运行结果如下:

5、 Calendar类:
package apitest.com;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class CalendarExample { public static void main(String[] args) { // 获取默认时区和语言环境的Calendar实例 Calendar calendar = Calendar.getInstance(); // 显示当前日期和时间 System.out.println("当前日期和时间: " + calendar.getTime()); // 获取并打印年份、月份(注意月份是从0开始的,即0代表1月)、日期 int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // 月份加1,以便按常规方式显示 int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("年: " + year + ", 月: " + month + ", 日: " + day); // 设置日期为2023年10月1日 calendar.set(Calendar.YEAR, 2023); calendar.set(Calendar.MONTH, Calendar.OCTOBER); // 直接使用Calendar的常量 calendar.set(Calendar.DAY_OF_MONTH, 1); System.out.println("设置后的日期: " + calendar.getTime()); // 给日期加上10天 calendar.add(Calendar.DAY_OF_MONTH, 10); System.out.println("加10天后的日期: " + calendar.getTime()); // 使用GregorianCalendar创建特定日期 GregorianCalendar gregorianCalendar = new GregorianCalendar(2022, Calendar.DECEMBER, 25); System.out.println("特定的日期: " + gregorianCalendar.getTime()); }
}
运行结果如下:

相关文章:
花几千上万学习Java,真没必要!(二十九)
1、基本数据类型包装类: 测试代码1: package apitest.com; //使用Integer类的不同方法处理整数。 //将字符串转换为整数(parseInt)和Integer对象(valueOf), //将整数转换回字符串(…...
C#如何引用dll动态链接库文件的注释
1、dll动态库文件项目生成属性中要勾选“XML文档文件” 注意:XML文件的名字切勿修改。 2、添加引用时XML文件要与DLL文件在同一个目录下。 3、如果要是添加引用的时候XML不在相同目录下,之后又将XML文件复制到相同的目录下,需要删除引用&am…...
WordPress原创插件:自定义文章标题颜色
插件设置截图 文章编辑时,右边会出现一个标题颜色设置,可以设置为任何颜色 更新记录:从输入颜色css代码,改为颜色选择器,更方便! 插件免费下载 https://download.csdn.net/download/huayula/89585192…...
Unity分享:继承自MonoBehaviour的脚步不要对引用类型的字段在声明时就初始化
如果某些字段在每个构造函数中都要进行初始化,很多人都喜欢在字段声明时就进行初始化,对于一个非继承自MonoBehaviour的脚步,这样做是没有问题的,然而继承自MonoBehaviour后就会造成内存的浪费,为什么呢?因…...
.NET Core中如何集成RabbitMQ
在.NET Core中集成RabbitMQ主要涉及到几个步骤,包括安装RabbitMQ的NuGet包、建立连接、定义队列、发送和接收消息等。下面是一个简单的指南来展示如何在.NET Core应用程序中集成RabbitMQ。 目录 1. 安装RabbitMQ.Client NuGet包 2. 建立连接 3. 定义队列 4. 发…...
嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化:智能物流管理系统设计思路流程(附代码示例)
目录 项目概述 系统设计 硬件设计 软件设计 系统架构图 代码实现 1. STM32微控制器与传感器代码 代码讲解 2. MQTT Broker设置 3. 数据接收与处理 代码讲解 4. 数据存储与分析 5. 数据分析与可视化 代码讲解 6. 数据可视化 项目总结 项目概述 随着电子商务的快…...
.net core docker部署教程和细节问题
在.NET Core中实现Docker一键部署,通常涉及以下几个步骤:编写Dockerfile以定义镜像构建过程、构建Docker镜像、运行Docker容器,以及(可选地)使用自动化工具如Docker Compose或CI/CD工具进行一键部署。以下是一个详细的…...
php数据库链接
Php超全局变量 GET 和 POST 都创建一个数组(例如 array( key1 > value1, key2 > value2, key3 > value3, ...))。此数组包含键/值对,其中 键是表单控件的名称,…...
python+vue3+onlyoffice在线文档系统实战20240726笔记,左侧菜单实现和最近文档基本实现
解决右侧高度过高的问题 解决方案:去掉右侧顶部和底部。 实现左侧菜单 最近文档,纯粹文档 我的文档,既包括文件夹也包括文件 共享文档,别人分享给我的 基本实现代码: 渲染效果: 简单优化 设置默认菜…...
vue中的nexttrick
Vue.js 是一个用于构建用户界面的渐进式框架,它允许开发者通过声明式的数据绑定来构建网页应用。在 Vue 中,nextTick 是一个非常重要的 API,它用于延迟回调的执行,直到下次 DOM 更新循环之后。 为什么使用 nextTick? …...
【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘
ModuleNotFoundError: No module named ‘requests‘ 目录 ModuleNotFoundError: No module named ‘requests‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身&a…...
深入理解JS中的发布订阅模式和观察者模式
发布/订阅模式(Publish/Subscribe)和观察者模式(Observer Pattern)在概念上非常相似,都是用于实现对象之间的松耦合通信。尽管它们在实现细节和使用场景上有所不同,但核心思想是相通的。 观察者模式 直接通信:在观察者模式中,观察者(Observer)直接订阅主题(Subject…...
网站IPv6支持率怎么检测?
在当今数字化的时代,IPv6的推广和应用已经成为网络发展的重要趋势。IPv6拥有更大的地址空间、更高的安全性和更好的性能,对于满足日益增长的网络需求至关重要。对于网站所有者和管理员来说,了解其网站对IPv6的支持率是评估网站性能和兼容性的…...
react中简单的配置路由
1.安装react-router-dom npm install react-router-dom 2.新建文件 src下新建page文件夹,该文件夹下新建login和index文件夹用于存放登录页面和首页,再在对应文件夹下分别新建入口文件index.js; src下新建router文件用于存放路由配置文件…...
RocketMQ消息短暂而又精彩的一生(荣耀典藏版)
目录 前言 一、核心概念 二、消息诞生与发送 2.1.路由表 2.2.队列的选择 2.3.其它特殊情况处理 2.3.1.发送异常处理 2.3.2.消息过大的处理 三、消息存储 3.1.如何保证高性能读写 3.1.1.传统IO读写方式 3.2零拷贝 3.2.1.mmap() 3.2.2sendfile() 3.2.3.CommitLog …...
Linux中的文件操作
linux中exec*为加载器,可以将程序加载到内存。 main()函数也是函数,也要被调用,也要被传参 故在一个程序中exec*系列的函数先被执行 程序替换中execve是系统调用,其他的都是封装。 进程程序替换 1.创建子进程的目的࿱…...
[排序]hoare快速排序
今天我们继续来讲排序部分,顾名思义,快速排序是一种特别高效的排序方法,在C语言中qsort函数,底层便是用快排所实现的,快排适用于各个项目中,特别的实用,下面我们就由浅入深的全面刨析快速排序。…...
freertos的学习cubemx版
HAL 库的freertos 1 实时 2 任务->线程 3 移植 CMSIS_V2 V1版本 NVIC配置全部是抢占优先级 第四组 抢占级别有 0-15 编码规则, 变量名 :类型前缀, c - char S - int16_t L - int32_t U - unsigned Uc - uint8_t Us - uint…...
PyQt 信号与槽功能
PyQt 信号与槽功能 基本概念:在 PyQt 中,信号(Signal)与槽(Slot)是一种用于对象之间通信的机制。信号可以由一个对象发出,而槽是用于接收信号并执行相应操作的函数。 信号 信号是在 PyQt 的类…...
navicat premium安装和破解
https://blog.csdn.net/qq1031893936/article/details/90264688 提示信息 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
