【FastExcel】解決ReadSheet在Map中獲取對象不準確問題(已提交PR并合并到開源社區)

解決問題:源碼ReadSheet在同一個Map中獲取對象不準確問題

PR:Fixed the issue where different ReadSheet objects could not get the correct value when comparing them.
在這里插入圖片描述
在這里插入圖片描述

一:問題場景

ReadSheet在同一個Map中獲取對象不準確(如Map<ReadSheet, T> map)

二:分析原因

ReadSheet does not implement @EqualsAndHashCode
(ReadSheet 未實現equals和hashcode方法,但是在部分測試用例中是體現不出來的,具體可以看下面的測試用例,比較直觀)

三:PR地址

PR交流鏈接

測試用例

 	@Testvoid testMapWithReadSheet() {ReadSheet sheet1 = new ReadSheet(1, "Sheet1");ReadSheet sheet2 = new ReadSheet(0, "Sheet2");Map<ReadSheet, String> map = new HashMap<>();map.put(sheet1, "sheet1 Value");//ReadSheet sheet3 = new ReadSheet(0, "Sheet2");map.put(sheet3, "sheet3 Value");String value = map.get(sheet2);System.out.println(value);}

四:擴展分享

在這里插入圖片描述
看到Issue中很多提交的相關問題,故分享一下早前寫過的例子.
Note:FastExcel完全兼容Easyexcel是比較友好的.(實現基本可以沿用)

1.導出excel凍結表頭和凍結指定列并支持篩選器

【EasyExcel】導出excel凍結表頭和凍結指定列并支持篩選器

2.導出excel-設置動態表頭并導出數據

【EasyExcel】導出excel-設置動態表頭并導出數據

3.【EasyExcel】導出excel并支持自定義設置數據行背景顏色等

【EasyExcel】導出excel并支持自定義設置數據行背景顏色等

最后:

什么是 FastExcel

FastExcel 堅持免費開源,并采用商業友好的 Apache 協議,使其適用于任何商業化場景。這為開發者和企業提供了極大的自由度和靈活性。其一些顯著特點包括:

完全兼容原 EasyExcel 的所有功能和特性,這使得用戶可以無縫過渡。
從 EasyExcel 遷移到 FastExcel 只需簡單地更換包名和 Maven 依賴即可完成升級。
在功能上,比 EasyExcel 提供更多新的特性和改進。

主要特性

  • 高性能讀寫:FastExcel 專注于性能優化,能夠高效處理大規模的 Excel 數據。相比一些傳統的 Excel 處理庫,它能顯著降低內存占用。
  • 簡單易用:該庫提供了簡潔直觀的 API,使得開發者可以輕松集成到項目中,無論是簡單的 Excel 操作還是復雜的數據處理都能快速上手。
  • 流式操作:FastExcel 支持流式讀取,將一次性加載大量數據的問題降到最低。這種設計方式在處理數十萬甚至上百萬行的數據時尤為重要。
    具體可訪問:FastExcel

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92372.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92372.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92372.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡安全入門基礎教程】TCP/IP協議深入解析(非常詳細)零基礎入門到精通,收藏這一篇就夠了

前言 這是小編給粉絲盆友們整理的網絡安全入門到精通系列第三章計算機網絡中TCP/IP協議的解析&#xff0c;喜歡的朋友們&#xff0c;記得給大白點贊支持和收藏一下&#xff0c;關注我&#xff0c;學習黑客技術。TCP/IP協議包含了一系列的協議&#xff0c;也叫TCP/IP協議族&…

Latex中公式部分輸入正體的字母\mathrm{c}

Latex中公式部分輸入正體的字母\mathrm{c}“\mathrm{c}”如何在Word中輸入\mathrm{c}“\mathrm{c}” 在 LaTeX 中&#xff0c;“\mathrm{c}” 用于在數學模式中排版“c”這個字母為羅馬體&#xff08;正體&#xff09;。“\mathrm” 是羅馬字體命令&#xff0c;它告訴LaTeX以羅…

Document Picture-in-Picture API擁抱全新浮窗體驗[參考:window.open]

在前端開發中&#xff0c;我們經常會遇到這樣的需求&#xff1a;彈出一個浮動窗口來顯示一些實時信息、工具欄或視頻內容。過去我們會用 window.open()&#xff0c;后來越來越多的開發者傾向于使用 Modal。但現在&#xff0c;一個更現代的 API 出現了——Document Picture-in-P…

【指南版】網絡與信息安全崗位系列(三):安全運維工程師

一、安全運維工程師到底做什么&#xff1f;—— 用校園場景幫你理解簡單說&#xff0c;安全運維工程師就像 “網絡世界的安保隊長 系統管家”&#xff1a;既要實時監控網絡和系統的 “異常動靜”&#xff08;類似學校保安巡邏查隱患&#xff09;&#xff0c;又要負責日常的安全…

matlab——simulink學習(5向NXP庫中添加新模塊)

向NXP庫中添加新的函數模塊一、環境二、庫添加模塊1.打開文件夾2.創建文件3.添加S-Function三、瀏覽器添加模塊一、環境 Windows10、MATLAB R2022b、安裝NXP的S32K1XX系列工具包 二、庫添加模塊 1.打開文件夾 在文件系統中找到安裝工具包的位置&#xff0c;用文件資源管理器…

使用ProxySql實現MySQL的讀寫分離

ProxySQL簡介1、ProxySQL是一款開源的使用C編寫的MySQL集群代理中間件&#xff1b;2、用于在MySQL數據庫和客戶端之間進行負載均衡、查詢緩存、故障轉移和查詢分發&#xff1b;3、它可以作為中間層插入到應用程序和數據庫之間&#xff1b;4、特點是高效靈活&#xff0c;使用簡單…

WiFi 核心概念與實戰用例全解

&#x1f4d6; 推薦閱讀&#xff1a;《Yocto項目實戰教程:高效定制嵌入式Linux系統》 &#x1f3a5; 更多學習視頻請關注 B 站&#xff1a;嵌入式Jerry 1. WiFi基礎與協議 WiFi&#xff08;Wireless Fidelity&#xff09;是基于IEEE 802.11協議族的無線局域網&#xff08;WLAN…

面向遠程智能終端的超低延遲RTSP|RTMP視頻SDK架構與實踐指南

引言&#xff1a;遙操作時代&#xff0c;視覺鏈路已成“主控神經元” 從工業巡檢到應急救援&#xff0c;從城市安防到邊境監控&#xff0c;遠程操控正成為智能終端與人機協同的重要落點。而在這些場景中&#xff0c;“視覺”不再只是用來觀看的工具&#xff0c;而是貫穿感知、…

C++中的繼承:從基礎到復雜

目錄 前言 1. 繼承的基本概念 2. 繼承方式與訪問控制 3. 派生類與基類的對象轉換 4. 繼承中的作用域 5. 派生類的默認成員函數 6. 繼承中的特殊關系 6.1 繼承與友元 6.2 繼承與靜態成員 7. 復雜的菱形繼承問題 8. 繼承與組合的選擇 9. 常見面試題 總結 前言 繼承…

Eyevinn 徹底改變開源部署模式

該咨詢公司借助Akamai云平臺&#xff0c;為其創新的開源平臺和可持續收益分成模式提供強大支持。 "時間就是金錢&#xff0c;我們通過Akamai云平臺快速將開源云平臺投入生產。" ——Eyevinn Technology研發副總裁 Jonas Birm實現可持續視頻流媒體服務 自2013年以來&…

17day-人工智能-機器學習-分類算法-KNN

1. 什么是knn算法knn算法全名叫做k-近鄰算法&#xff08;K-Nearest Neighbors&#xff0c;簡稱KNN&#xff09;&#xff0c;看到名字是不是能想到是算距離的&#xff0c;第一個k是指超參數的意思&#xff0c;就是可以認為設置的意思&#xff0c;這里是指最近的k個樣本。2. 為什…

12-netty基礎-手寫rpc-編解碼-04

netty系列文章&#xff1a; 01-netty基礎-socket02-netty基礎-java四種IO模型03-netty基礎-多路復用select、poll、epoll04-netty基礎-Reactor三種模型05-netty基礎-ByteBuf數據結構06-netty基礎-編碼解碼07-netty基礎-自定義編解碼器08-netty基礎-自定義序列化和反序列化09-n…

解決 Windows 下的“幽靈文件”——記一次與帶空格的 .gitignore 文件的艱難斗爭

引言 你是否遇到過這樣的情況&#xff1a;一個文件明明躺在你的文件夾里&#xff0c;ls 或 dir 命令都能清楚地看到它&#xff0c;但無論你用什么方法嘗試刪除&#xff0c;系統都冷酷地告訴你“找不到文件”&#xff1f; 就在今天&#xff0c;我就遇到了這樣一個“幽靈”般的 .…

(易視寶)易視TV is-E4-G-全志A20芯片-安卓4-燒寫卡刷工具及教程

&#xff08;易視寶&#xff09;易視TV is-E4-G-全志A20芯片-安卓4-燒寫卡刷工具及教程PhoenixCard_V309燒錄步驟&#xff1a;1、將TF或SD卡插入計算機&#xff0c;打開軟件&#xff1b;2、選擇固件所在目錄&#xff1b;3、燒寫模式選“卡量產”4、點擊“燒錄”開始量產&#x…

(數據結構)順序表實現-增刪查改

1.線性表 線性表(linear list)是n個具有相同特性的數據元素的有限序列。線性表是一種在實際中廣泛使用的數據結構,常見的線性表:順序表、鏈表、棧、隊列、字符串… 線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上并不一定是連續的,線性表在物理上存儲時…

【面試八股總結】線程/進程同步問題

一、同步與互斥 在線程并發執行的過程中&#xff0c;進程/線程之間存在協作的關系&#xff0c;例如有互斥、同步的關系。為了實現進程/線程間正確的協作&#xff0c;操作系統必須提供實現進程協作的措施和方法&#xff0c;主要的方法有兩種&#xff1a; 鎖&#xff1a;加鎖、解…

大語言模型提示工程與應用:提示工程入門指南

提示工程入門 學習目標 在本課程中&#xff0c;我們將學習提示工程。 相關知識點 提示工程 學習內容 1 提示工程 提示工程是一門新興學科&#xff0c;專注于設計和優化提示詞以高效利用語言模型完成多樣化任務。掌握提示工程能幫助開發者更深入理解大語言模型(LLM)的能力…

PostgreSQL 多級依賴血緣系統的設計與落地

一、業務背景&#xff1a;三類指標與四種狀態指標類型定義規則依賴關系原子指標單表聚合&#xff08;SELECT WHERE GROUP&#xff09;無派生指標在原子/派生指標上加 WHERE、改 GROUP依賴 1~N 個父指標復合指標多個原子/派生指標做加減運算依賴 1~N 個父指標狀態說明已保存草…

阿里云百煉平臺創建智能體-上傳文檔

整體思路是&#xff1a; 1創建ram用戶&#xff0c;授權 2上傳文件獲取FileSession 3調用智能體對話&#xff0c;傳入FileSession 接下來每個步驟的細節&#xff1a; 1官方不推薦使用超級管理員用戶獲得accessKeyId和accessKeySecret&#xff0c;所以登錄超級管理員賬號創建…