精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

代碼出錯了,IDE竟然不報錯?太詭異了....

開發 后端
今天分享一個寫代碼時遇到的詭異問題,如何排查解決的。但有些問題比較抽象,不知道如何來描述,怎么辦?或者勉強描述清楚了,搜出來的答案也很難滿足要求,整個過程猶如大海撈針。最后求助 ChatGPT 瞬間解決,給大家分享下解決思路。

小伙伴好哇,我是Tom哥。

今天分享一個寫代碼時遇到的詭異問題,如何排查解決的。

從事互聯網的人都懂,一般遇到問題時,首先會想用谷歌、百度等搜索引擎,看看前輩們是如何解決的。

但有些問題比較抽象,不知道如何來描述,怎么辦?或者勉強描述清楚了,搜出來的答案也很難滿足要求,整個過程猶如大海撈針。最后求助 ChatGPT 瞬間解決,給大家分享下解決思路。

問題的來龍去脈

正在開發一個項目,倉儲層有一個接口類(IProductReadRepository),其中一個方法的入參使用了 Java 泛型,具體如下:

List<SpuVO> batchQuerySpuBySpuIdsFromDB(ProductQueryWrapper<List<Long>> req);

在上層的領域服務中,有一處調用這個方法的代碼,具體如下:

ProductQueryWrapper productQueryWrapper = ProductQueryWrapper.builder()
        .bizCode(BusinessCodeEnum.SMART.getCode())
        .bizScene(BusinessSceneEnum.RETAIL.getCode())
        .storeId(multiPackageVO.getStoreId())
        .bizParams(spuIds)
        .build();
List<ProductSummaryVO> productSummaryVOS = productReadRepository.batchQuerySpuBySpuIdsFromDB(productQueryWrapper);

if (CollectionUtils.isEmpty(productSummaryVOS)) {
    bizResult.error(BizErrorCode.MULTI_PACKAGE_PRODUCT_NOT_EXIST);
    return bizResult;
}

其中,List<ProductSummaryVO> productSummaryVOS = productReadRepository.batchQuerySpuBySpuIdsFromDB(productQueryWrapper); 這行代碼非常詭異

返回的結果List<ProductSummaryVO>并不匹配,但在IDEA中卻沒有報錯,這讓我們感到非常困擾。

這是怎么回事?

當時懷疑是錯覺,仔細對比了兩個方法,確實是對的。

又懷疑是 IDEA 的緩存干擾導致,所以將工程重新 build 了一次還是不行!

接下來,能想到的各種招數都招呼上,比如:

  • 在終端執行 mvn clean install -U,重新編譯代碼,并強制 Maven 更新所有依賴的快照版本(Snapshot)
  • 手動將 maven 的本地倉庫的依賴包全部刪除,重新拉取
  • 將本地工程文件中的 target 文件刪除
  • .....

最后,使出絕招,將本地的工程代碼全部刪除,然后重新從 git 上拉取最新代碼,編譯,導入到 IDEA 工程。

但,但,但,問題依然存在,真讓人崩潰。

難道是 IDEA 中的錯誤檢查失效了,于是人為制造了一些錯誤,發現 IDEA 也都能識別出來。

實在沒招了。。。。。。。

最后,還是問下 ChatGPT 吧

首先,先把問題描述清楚,ChatGPT 特懂人情世故,你跟他講清楚問題,他也會給你一個清楚的答案。

有一個接口內的方法定義如下:

 List<SpuVO> batchQuerySpuBySpuIdsFromDB(ProductQueryWrapper<List<Long>> req);

使用下面的代碼來調用 batchQuerySpuBySpuIdsFromDB,返回的 List<SpuVO> 結果并不匹配,但在 IDEA 中沒有報錯,是什么原因?

ProductQueryWrapper productQueryWrapper = ProductQueryWrapper.builder()
        .bizCode(BusinessCodeEnum.SMART.getCode())
        .bizScene(BusinessSceneEnum.RETAIL.getCode())
        .storeId(multiPackageVO.getStoreId())
        .bizParams(spuIds)
        .build();
List<ProductSummaryVO> productSummaryVOS = productReadRepository.batchQuerySpuBySpuIdsFromDB(productQueryWrapper);

if (CollectionUtils.isEmpty(productSummaryVOS)) {
    bizResult.error(BizErrorCode.MULTI_PACKAGE_PRODUCT_NOT_EXIST);
    return bizResult;
}

ChatGPT 很快就給出了答案。

問題可能出在泛型擦除和編譯時類型檢查上。由于Java泛型的擦除機制,在運行時無法獲取泛型的實際類型,這可能導致類型不匹配的問題。

那我們就按照它的思路來,將這行代碼  ProductQueryWrapper productQueryWrapper = ProductQueryWrapper.builder()

修改為  ProductQueryWrapper<List<Long>> productQueryWrapper = ProductQueryWrapper.<List<Long>>builder()

在構建 ProductQueryWrapper 對象時, 指定泛型參數的具體類型,以便在運行時能夠正確地識別參數類型。

然后,問題真的解決了。

如下圖所示,第二處紅框位置的代碼開始報錯。因為接口的規范(返回結果)調整了,此處確實應該報錯提示。

后面,我們根據錯誤提示,將 ProductSummaryVO 類替換成 SpuVO 類。

最終,不但編譯不報錯,單元測試也能跑通。問題完美解決。

背后的原因

為何在 IDEA 中沒有直接報錯呢?這里牽扯到Java泛型的類型推斷機制。

上述代碼中,雖然使用了原始類型 ProductQueryWrapper ,但沒有指定具體的泛型類型。

Java 7 及以后的版本引入了菱形操作符(Diamond Operator),允許在創建對象時不再重復指定泛型類型,而是通過上下文進行類型推斷。

這就意味著在你的代碼中,雖然沒有明確指定泛型類型,但由于在 ProductQueryWrapper.builder() 上下文中,編譯器會嘗試根據調用方的期望類型來推斷泛型參數。

這種類型推斷機制使得在 IDEA 開發工具不會直接報錯,也就出現了上文說到的那個問題。

今天的分享就到這里,我們下回再見。

責任編輯:姜華 來源: 微觀技術
相關推薦

2022-08-31 10:40:40

MySQL數據庫

2024-12-02 08:01:47

加鎖高并發程序

2019-10-28 08:44:29

Code Review代碼團隊

2019-09-19 11:20:51

PythonPyCharm腳本語言

2012-05-18 13:23:02

iPhone 4S

2020-10-16 09:09:56

代碼業務模型

2014-07-03 14:04:55

Bug報告Bug

2021-09-01 18:38:59

Goselectdefault

2024-04-15 00:00:00

Git管理代碼

2015-12-07 14:11:01

2024-12-11 09:25:59

2021-12-02 09:31:22

Python 代碼進度條

2024-04-30 08:05:15

Rust代碼計算

2023-09-02 11:21:54

代碼ChatGPT

2025-03-03 08:49:59

2011-05-16 10:16:19

MYSQL出錯代碼

2021-01-19 05:27:44

HTTPSECDHE算法

2021-09-09 19:19:50

命令Rm 腳本

2021-09-18 06:31:11

rmLinux文件

2024-03-07 12:45:27

PyTorch
點贊
收藏

51CTO技術棧公眾號

91久久精品无嫩草影院| 黄色大片在线免费观看| 亚洲视频精品| 精品剧情v国产在线观看在线| 丁香六月激情网| 日本免费一区视频| 丝袜美腿一区二区三区| 久久久精品在线| 真人bbbbbbbbb毛片| 成人亚洲综合| 午夜视频一区二区三区| 神马影院午夜我不卡| jlzzjlzz亚洲女人18| 亚洲欧美日韩精品一区二区| 久久久国产视频| 99久久免费看精品国产一区| 欧美a一级片| 精品国产乱码久久久久酒店 | 欧美中文字幕视频| 在线免费日韩av| 成人在线电影在线观看视频| 亚洲国产精品久久久久久| xxww在线观看| 成人免费直播| 五月天久久比比资源色| 国产香蕉一区二区三区| 成年人在线观看视频| av日韩在线网站| 亚洲综合在线做性| 888奇米影视| 老司机精品久久| 91国内揄拍国内精品对白| 午夜国产福利一区二区| 欧美国产偷国产精品三区| 国产午夜精品免费一区二区三区| 国产黑丝一区二区| 亚洲一区电影| 91精品国产综合久久久久久久| 超碰影院在线观看| 捆绑调教日本一区二区三区| 亚洲国产精品久久不卡毛片 | 91麻豆精品国产91久久久久久| 久久久久免费精品| 亚洲电影观看| 欧美性猛交视频| a在线视频观看| av资源网在线播放| 亚洲成人av免费| 免费拍拍拍网站| bbw在线视频| 亚洲成人资源在线| 久久国产精品网| 欧美v亚洲v| 午夜精品久久久久久久久| cao在线观看| 在线观看a级片| 一区二区三区 在线观看视频| 艳母动漫在线观看| 超碰在线最新| 亚洲综合免费观看高清在线观看| 欧美视频在线第一页| 牛牛在线精品视频| 亚洲成人免费看| 777久久久精品一区二区三区 | 欧美国产一级| 色婷婷久久一区二区| 性色国产成人久久久精品| 日本大胆欧美| 久久久久www| 久久国产精品波多野结衣av| 在线日韩av| 欧美一级电影久久| 日韩av免费播放| 国产一区二区三区四区五区美女| 91成人免费视频| 天天干天天舔天天射| 久久久久久久久一| 一本久道久久综合| www.8ⅹ8ⅹ羞羞漫画在线看| 欧美性猛交xxxx乱大交| 色国产在线视频| 亚洲国产中文在线| 日韩国产欧美精品在线| 粉嫩精品久久99综合一区| 伊人青青综合网| 欧美亚州一区二区三区| 姑娘第5集在线观看免费好剧| 国产在线不卡一区| 久久精品国产美女| 欧美高清视频| 精品国产31久久久久久| 中文字幕在线观看第三页| 国产精品成人3p一区二区三区| 精品久久国产字幕高潮| 黑人巨大精品欧美| 在线观看日韩| 日本成人激情视频| 精品国产亚洲AV| 久久婷婷成人综合色| 中文字幕av导航| 高潮一区二区| 日韩免费观看高清完整版在线观看| 少妇户外露出[11p]| 欧美gayvideo| 国产999精品久久久| 亚洲精品喷潮一区二区三区| 欧美激情在线看| 国产96在线 | 亚洲| 亚洲精品伊人| 国产小视频91| 日韩欧美大片在线观看| 国产乱码一区二区三区| 日本不卡一区二区三区在线观看| 欧美野外wwwxxx| 在线播放日韩导航| 免费观看a级片| 伊人成年综合电影网| 国产女同一区二区| 男生女生差差差的视频在线观看| 亚洲一区中文日韩| www.成年人| 欧美午夜精品一区二区三区电影| 91禁外国网站| 粉嫩av一区二区夜夜嗨| 亚洲精品videosex极品| 韩国av免费在线| 成人私拍视频| 欧美一级日韩不卡播放免费| 18禁裸乳无遮挡啪啪无码免费| 日本中文字幕在线视频| 国产99久久久| 国产一区二区女| 亚洲第一导航| 666av成人影院在线观看| 亚洲国产成人精品女人久久久 | 久久99久久99精品免观看粉嫩| 波多野结衣一区二区三区在线| 99亚偷拍自图区亚洲| 国产1区2区3区中文字幕| 成年永久一区二区三区免费视频| 国产一区av在线| 人妻 日韩精品 中文字幕| 不卡电影免费在线播放一区| 精品成在人线av无码免费看| 亚洲经典视频| 久久久久久成人精品| 精品国产av一区二区三区| 亚洲私人影院在线观看| 伊人网在线综合| 99re6这里只有精品| 国产精品激情av电影在线观看| 精品视频一二三| 欧美午夜精品久久久| 中文字幕免费高清| 丝袜诱惑制服诱惑色一区在线观看| 精品国产免费久久久久久尖叫| а√天堂8资源中文在线| 精品国产乱码久久久久久影片| 国产亚洲精品久久久久久打不开| 丁香一区二区三区| 欧美精品久久久久久久久久久| 欧美中文一区| 国产成人一区二区三区小说| 91在线网址| 91精品在线麻豆| 激情视频在线播放| av成人免费在线| 国产福利视频在线播放| 日韩成人免费| 亚洲自拍中文字幕| av资源在线| 在线电影av不卡网址| 亚洲第一网站在线观看| 国产精品午夜电影| 亚洲丝袜在线观看| 在线欧美不卡| 日韩女优中文字幕| 国产精品美女久久久久人| 欧美高清视频在线观看| 日韩av视屏| 欧美人妇做爰xxxⅹ性高电影| 91久久国产综合| 99riav一区二区三区| 美女一区二区三区视频| 亚洲香蕉av| 蜜桃av噜噜一区二区三区| 成人免费一区| 国产做受高潮69| 福利小视频在线观看| 欧美高清精品3d| 欧美日韩精品区| 亚洲人成网站影音先锋播放| 亚洲精品久久一区二区三区777| 久久午夜影视| 欧美日韩激情四射| 精品视频99| 国产精品污www一区二区三区| 台湾佬中文娱乐久久久| 欧美激情aaaa| 五月天婷婷在线视频| 日韩欧美国产一二三区| 欧美日韩a v| 亚洲一区在线观看视频| 综合 欧美 亚洲日本| 99re这里都是精品| 中国老熟女重囗味hdxx| 日韩精品乱码av一区二区| youjizz.com在线观看| 欧美精品系列| 好看的日韩精品视频在线| 96视频在线观看欧美| 国产精品18久久久久久麻辣| 一二三四区在线观看| 中文字幕亚洲无线码在线一区| 婷婷色在线视频| 日韩三级视频在线看| 怡春院在线视频| 色婷婷精品久久二区二区蜜臀av| 国产精品视频一区二区在线观看 | 青青青视频在线免费观看| 成人羞羞网站入口免费| 国产精品吹潮在线观看| av在线小说| 亚洲色图国产精品| 国产 欧美 在线| 成人99免费视频| 国产欧美123| 在线观看免费视频黄| 欧美国产视频| 欧美精品日日鲁夜夜添| 日本黄色一级网站| 国产爆初菊在线观看免费视频网站| 欧美在线日韩| 亚洲精品成人天堂一二三| 毛片视频免费播放| 国产精品视频一二三| 亚洲av无码一区二区三区人| 99国产欧美另类久久久精品| 亚洲欧美天堂在线| 天堂午夜影视日韩欧美一区二区| 黄色a级片免费| 麻豆精品网站| 一级黄色录像免费看| 1769国产精品视频| 日韩美女视频免费在线观看| 亚洲成a人片在线| 精品国产一二三| 色窝窝无码一区二区三区| 亚洲精品第一国产综合精品| 深夜福利视频一区| 亚洲加勒比久久88色综合 | 日韩精品免费在线视频观看| 免费国产精品视频| 亚洲国产精品字幕| 日产精品久久久久久久性色| 亚洲视频在线看| 在线中文资源天堂| 欧美另类xxx| а√天堂中文在线资源8| 欧美亚洲免费电影| 日韩和的一区二在线| 国产精品嫩草影院久久久| 亚洲福利影视| 超碰97国产在线| 爽爽窝窝午夜精品一区二区| 日本欧美色综合网站免费| 99久久久久国产精品| 人妻激情另类乱人伦人妻| 亚洲三级影院| 三级在线视频观看| 国产精品一区二区黑丝| 国产精品久久久免费观看| 国产亚洲欧美在线| 国产色无码精品视频国产| 亚洲国产综合在线| 中文人妻av久久人妻18| 在线不卡一区二区| 天天综合网在线观看| 国产一区二区三区在线免费观看 | 欧美一区二区.| 国产精品天堂蜜av在线播放| 91在线免费看片| 一本色道久久综合狠狠躁的番外| 在线不卡日本| 99成人精品| www.精品在线| aaa亚洲精品一二三区| 国产精品麻豆免费版现看视频| 亚洲免费av高清| 波多野结衣 久久| 日韩一区二区精品| 久久久资源网| 久久6精品影院| 一二区成人影院电影网| 成人永久免费| 波多野结衣的一区二区三区| www.成年人视频| 乱一区二区av| 在线免费观看黄色小视频| 亚洲天堂2014| 日韩不卡高清视频| 亚洲精品短视频| 在线网址91| 国产欧美日韩中文| 一本色道久久综合亚洲精品酒店| www国产免费| 久久精品国产精品亚洲综合| 国产人妻人伦精品1国产丝袜| 亚洲欧美日韩久久| 凹凸精品一区二区三区| 亚洲国产中文字幕在线观看| a毛片在线看免费观看| 国产精品99导航| 校花撩起jk露出白色内裤国产精品| 国产av第一区| 免费在线成人网| 男人天堂av电影| 午夜视黄欧洲亚洲| 亚洲精品国偷拍自产在线观看蜜桃| 日韩一区二区久久久| 日韩av首页| 日本免费高清一区| 国产九九精品| 最近日本中文字幕| 亚洲高清免费观看高清完整版在线观看 | 成人免费淫片aa视频免费| 精品视频99| 午夜视频你懂的| 国产欧美精品在线观看| 在线精品免费视| 亚洲乱码一区二区| 在线观看欧美日韩电影| 黄色小网站91| 亚洲影院免费| 黑丝av在线播放| 岛国av一区二区| 日本福利片高清在线观看| 热久久99这里有精品| 尤物tv在线精品| 漂亮人妻被中出中文字幕| 久久亚洲综合色| 99久久久无码国产精品免费蜜柚 | 中文字幕丰满孑伦无码专区| 天天色天天操综合| 日韩欧美亚洲系列| 欧美中在线观看| 国产伦精品一区二区三区千人斩| 日韩亚洲在线视频| 欧美激情一区二区三区不卡 | 亚洲国产成人av在线| 天堂av中文在线观看| 久久综合伊人77777麻豆| 亚洲尤物精选| 国产高清一区二区三区四区| 欧美色中文字幕| 免费大片黄在线观看视频网站| 成人免费高清完整版在线观看| 午夜欧美在线| 国产免费无码一区二区| 亚洲va欧美va人人爽| 日本护士...精品国| 国产精品视频99| 在线成人直播| 亚洲视频在线播放免费| 色8久久精品久久久久久蜜| 自拍视频在线| 99久久精品免费看国产一区二区三区 | 丁香婷婷深情五月亚洲| 看片网址国产福利av中文字幕| 亚洲男人天堂2024| 日韩欧美专区| 97超碰在线人人| 国产精品丝袜久久久久久app| 99热这里只有精品3| 91国产精品视频在线| 国产一区二区三区电影在线观看 | 亚洲精品国产九九九| 欧美在线观看www| 国产精品国产三级国产| 亚洲第一视频在线播放| 日韩av毛片网| 欧美全黄视频| 韩国三级hd中文字幕| 日韩欧美国产午夜精品| 欧美亚洲韩国| 妞干网在线播放| 国产日韩三级在线| www.国产欧美| 国产精品电影一区| 亚洲精品1234| 999久久久国产| 日韩精品小视频| 久久av网站| www.欧美日本| 亚洲国产精品久久久久秋霞影院| 在线播放日本| 久久资源av| 国产成人免费视频一区| 中文字幕 人妻熟女| 久久人人爽人人|