花几千上万学习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...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
