- 博客(111)
- 资源 (1)
- 收藏
- 关注
原创 几个有趣的算法
本文介绍了四种常用算法实现:1) 全排列算法通过递归和栈结构生成下标的所有组合;2) 欧几里得算法递归求解最大公约数;3) 基于gcd计算最小公倍数;4) Knuth洗牌算法通过随机交换实现数组乱序。这些算法分别采用回溯、数论和概率方法,涵盖了排列组合、数学运算和随机化处理等常见编程场景。代码采用Java实现,包含清晰的注释说明各方法的参数和功能。
2025-10-28 00:00:11
115
原创 文件操作工具类
这是一个Java文件操作工具类,提供文件读写功能。主要特点包括:1) 支持按路径或File对象读取/写入文件;2) 可指定字符编码(默认UTF-8);3) 包含读取classpath资源的方法;4) 使用try-with-resources确保资源释放;5) 空值检查和异常处理。工具类封装了常见的文件操作,简化了文件读写流程,支持文本文件的完整读写操作。
2025-10-22 00:25:57
171
原创 浏览器监听、拦截按键事件
本文介绍了如何通过JavaScript监听并拦截浏览器的按键事件,将上下方向键转换为左右方向键。代码在Chrome验证有效,适用于部分网页(如优快云博客图片浏览页)。通过keydown事件捕获按键,拦截上下键(keyCode 38/40)并重新派发为左右键(keyCode 37/39)。文中提到keyCode已废弃,建议使用key/code属性,但在Chrome中仍依赖keyCode实现。代码包含事件打印和拦截逻辑,通过preventDefault()阻止默认行为。
2025-10-22 00:24:32
231
原创 ZIP工具类
这篇文章摘要如下: Java ZIP工具类提供了压缩和解压缩的常用方法。主要功能包括:1) 将指定目录下的所有文件压缩为ZIP文件或输出流;2) 支持自定义父路径以确定压缩文件相对路径;3) 解压ZIP文件到指定目录并返回解压文件列表。工具类使用ZipOutputStream/ZipInputStream实现核心功能,处理文件路径时使用Paths.normalize()规范化路径,并通过缓冲流提高IO效率。所有方法都包含异常处理,使用Lombok的@Slf4j记录错误日志。该工具类封装了ZIP操作常见场景,
2025-10-21 00:31:00
232
原创 集合工具类
本文介绍了集合操作工具类CollectionUtil,提供了多种集合处理方法。主要功能包括:拆分列表(splitList)、判断集合是否为空(isEmpty)、获取两个集合的差集(complementary)、交集(intersection)、并集(union)、移除空元素(removeNull)以及比较集合元素是否相同(equals)。这些方法通过泛型支持多种数据类型,处理了空集合等边界情况,并采用排序后逐一比较的方式实现集合相等性判断。该工具类简化了常见的集合操作,提高了代码复用性。
2025-10-16 00:46:40
425
原创 HTTP 接口调用工具类(OkHttp 版)
本文介绍了HTTP基础知识及一个基于OkHttp的同步HTTP请求工具类实现。首先概述了9种常见HTTP方法(GET、POST、PUT等)的特点及适用场景,特别指出哪些方法支持请求体。随后展示了一个Java实现的HTTP工具类,支持GET/POST/PUT等多种请求方式,包含同步调用、JSON/表单数据格式处理、文件上传等功能。工具类通过OkHttpClient实现,提供了超时设置和统一响应处理。代码示例包含枚举类定义、请求构建和响应处理逻辑,适用于需要简单HTTP客户端功能的Java项目。
2025-08-24 23:31:53
719
原创 JSON格式化与结构对比
该JSON工具类提供两个核心功能:1) 格式化JSON字符串为最简结构并标注值类型;2) 比对两个JSON结构差异。采用fastjson解析JSON,支持三种特殊比对规则:null与任何类型相等、空对象互等、空数组互等。主要方法包括format()格式化JSON和compareStruct()比较结构差异,内部通过递归处理JSONObject和JSONArray。格式化时会保留结构框架但移除具体值,仅保留值类型标识;比对功能会输出结构变化(增删改)。
2025-07-27 18:17:02
372
原创 控制台打印带格式内容
本文介绍了如何在控制台中打印带颜色和格式的文字,使用转义符 \033[ 配合参数实现样式设置。样式结束使用 \033[0m 恢复默认格式。文章详细说明了参数的含义,包括字体颜色、背景颜色及其他格式(如粗体、斜体、下划线等)。通过 Java 代码示例,展示了如何定义格式参数枚举类及内容格式化类,并提供了测试代码,验证了在 IDEA 控制台中输出带格式文字的效果。
2025-05-11 22:32:10
408
原创 安卓动态添加View
在安卓应用中,有很多时候需要动态添加View。比如从后台获取商品列表,根据商品数量在页面渲染对应数量的条目,这时候就需要动态添加View。
2024-11-24 02:22:28
1683
原创 安卓CameraX的使用
注:Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。谷歌的文档只提供了Kotlin的代码示例,根据Kotlin的代码示例和文档,本文提供Java的实现。
2024-11-19 07:59:29
2388
原创 安卓多点触控
对于普通的点击事件,调用View对象的方法注册点击事件的监听即可,但是如果要处理更加复杂的触控事件时,这种方式就无法满足我们的要求了,此时我们就可以监听所有触摸事件,自行处理触摸事件。
2024-10-29 01:43:54
1566
原创 Java在for循环中修改集合
尽量不要在遍历中修改集合本身(修改集合中的元素的属性没问题),除非你能明确知道该操作导致的后果。如果需要在循环中移除元素,可以使用迭代器iterator。
2024-07-21 18:17:32
1083
原创 App测试自动化工具Airtest的使用
是由网易游戏推出的UI自动化测试解决方案,是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。AirtestIDE对Python进行了封装,通过Airtest、Poco两个框架对应用元素进行定位,可以使用python的语法编写脚本。除了UIAutomator2外,还有Appium、AirTest等App自动测试框架。本文是App测试自动化系列工具之UIAutomator2的使用。
2024-07-21 03:34:39
2797
原创 App测试自动化工具UIAutomator2的使用
是一个安卓App测试的自动化工具,它通过模拟点击实现对App的功能测试。除了UIAutomator2外,还有Appium、AirTest等App自动测试框架。本文是App测试自动化系列工具之UIAutomator2的使用。
2024-07-14 04:05:32
3518
原创 Web测试自动化工具Selenium的使用
如果你用PyCharm进行调试,可能碰到已经将chromedriver配置到环境变量中,但还是启动浏览器失败的情况,这可能是因为当前项目的虚拟环境中没有chromedriver(此时环境变量中的chromedriver并未起作用)。如果chrome是最新版本,使用最新版本的chromedriver无法驱动chrome时,可以在。chrome版本和chromedriver版本是一一对应的(并非严格对应,下载离chrome版本最近的chromedriver即可),在chrome浏览器访问。
2023-12-05 00:23:16
889
原创 EasyExcel多次写入数据&多个EasyExcel文件导出到zip压缩文件
EasyExcel多次写入数据&多个EasyExcel文件导出到zip压缩文件
2023-08-12 22:46:53
1942
原创 Java执行Python代码的两种方法(Jython与ProcessBuilder)
Java执行python代码有很多种方法,这里介绍两种,Jython和ProcessBuilder,并简要介绍下它们的优缺点。
2023-07-02 19:14:26
4121
原创 Excel文件导入&导出工具类
之前写过一篇导出Excel文件的通用类的文章,当时只实现了导出数据到Excel的功能,这次在上次的基础上,增加从Excel读取数据到List的功能,依旧使用POI读取Excel文件。
2023-07-01 20:22:36
1826
原创 根据数据库定义语句DDL生成实体类和Mybatis增删改查代码
根据Navicate的数据库定义语句DDL生成实体类和Mybatis增删改查代码输出到控制台。
2023-04-22 21:03:24
971
原创 Chrome插件开发-右键菜单开启页面编辑
开发一个执行js脚本改变页面DOM的Chrome插件,`manifest_version`版本为3。
2023-03-19 19:47:08
3705
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅