Java基礎361問第16問——枚舉為什么導致空指針?

我們看一段代碼

public enum Color {RED, BLUE, YELLOW;public static Color parse(String color) {return null;}
}public static void main() {Color color = Color.parse("");// 極具迷惑性,大家日常開發肯定這么寫過switch (color) {case RED:break;case BLUE:break;case YELLOW:break;default:break;}}

運行一下,發現了 空指針 Color.ordinal()’ on a null object reference
在這里插入圖片描述
為什么呢?

原來Color是一個繼承了 Enum的特殊類,里面有一個 ordinal() 方法,當我們使用 switch去傳入 color時,編譯器內部會調用 Color的ordinal()方法去獲取int值,此時出現了 空指針
在這里插入圖片描述

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

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

相關文章

10.Excel:快速定位目標值

一 批量刪除 1.如何使用 快捷鍵 CTRLG 補充:直接選擇定位條件。 2.作用 1.批量刪除工作表中的圖片 補充:無法通過框選的方式選中這些圖片進行刪除。 這樣只框選了表格,無法框選圖片。因為圖片在excel中被認為是一個對象,對象無法通…

快樂數(雙指針解法)

題目鏈接202. 快樂數 - 力扣(LeetCode) 題目拆解 1 取一個正整數每一位的平方和為,如果為1那么直接可以判定為快樂數,如果不為1,就重復這個過程,直到出現1 2 實際上,這道題只有兩種情況&#xf…

進程控制的學習

進程控制(Process Control)是指操作系統對進程的創建、執行、暫停、恢復、終止等一系列狀態變化進行管理和協調的過程。 簡單說,就是系統讓各個程序能有序地運行,合理地使用CPU和資源,而不會互相沖突或者出錯。 主要包…

818協議知識筆記

一、概念 Fibre CHannel-Audio Vedio standard;FC-AV FC-FS:Fibre channel framing and signaling interface; FC-PI:fibre channel physical interfaces 二、術語 VGA,SVGA,XGA,WXGA,SXGA,SXGA,WSXGA,UXGA,1440P; ICD:interface control document接口控制文檔 CRC對幀頭和數據…

AI大模型學習十二:?嘗鮮ubuntu 25.04 桌面版私有化sealos cloud + devbox+minio對象存儲測試和漫長修改之路

一、說明 前面已經安裝完成,這里我們測試對象存儲 AI大模型學習十一:?嘗鮮ubuntu 25.04 桌面版私有化sealos cloud devboxminio,實戰運行成功-CSDN博客https://blog.csdn.net/jiangkp/article/details/147424823?spm1011.2415.3001.5331 二…

SpringBoot的自動掃描特性-筆記

1.Spring Boot 的自動掃描特性介紹 Spring Boot 的自動掃描(Component Scanning)是其核心特性之一。通過注解SpringBootApplication 簡化了 Bean 的管理,允許框架自動發現并注冊帶有特定注解的類為 Spring 容器中的 Bean(特定注解…

基于nodeJS代碼的通過爬蟲方式實現tiktok發布視頻(2025年4月)

1、將真實的tiktokstudio平臺的cookie填到代碼里的cookie變量里,修改python代碼里的ticket,ts, privateKey,以及videoPath,timing等變量的值,最后運行python腳本即可; 2、運行之前根據import提示安裝一些常見依賴,比如node-fetch等; 3、運行時候可能系統需要科學上網…

數據一致性問題剖析與實踐(四)——競態條件競爭導致的一致性問題

一、前言 之前我們討論了幾種場景的一致性問題 冗余數據存儲中的一致性問題分布式共識中的一致性問題單機事務中的一致性問題分布式事務中的一致性問題 本文將圍繞競態條件競爭中的一致性問題展開討論分析。 二、 問題定義 競態條件(Race Condition&#xff09…

PCL點云處理之基于FPFH特征的SAC-IA全局配準算法 (二百四十六)

提示: 有相關點云需求的可以私信 PCL 點云處理之基于 FPFH 特征的 SAC - IA 全局配準算法 一、前言二、相關概念介紹2.1 點云2.2 FPFH 特征2.3 SAC - IA 算法三、SAC - IA 全局配準算法原理3.1 FPFH 特征提取3.2 SAC - IA 配準過程四、代碼實現與分析4.1 完整代碼4.2 代碼分析…

JavaScript性能優化實戰:從瓶頸定位到極致提速

JavaScript作為現代Web應用的核心,其性能直接影響用戶體驗。本文將從性能瓶頸定位、高頻優化場景、現代API利用三個維度,結合代碼示例和Chrome DevTools實戰,為你構建完整的性能優化體系。 一、性能分析:精準定位瓶頸 1.1 Chrome…

JavaScript 頁面刷新:從傳統到現代的全面解析

在 Web 開發中,"刷新"是一個基礎但極其重要的功能。本文將全面探討頁面刷新的實現方式,從傳統方法到現代最佳實踐,深入解析每一種方案的原理和適用場景,并給出實用代碼示例。 一、理解頁面刷新的本質 在 Web 開發中&am…

NLP高頻面試題(五十五)——DeepSeek系列概覽與發展背景

大型模型浪潮背景 近年來,大型語言模型(Large Language Model, LLM)領域發展迅猛,從GPT-3等超大規模模型的崛起到ChatGPT的橫空出世,再到GPT-4的問世,模型參數規模和訓練數據量呈指數級增長。以GPT-3為例,參數高達1750億,在570GB文本數據上訓練,顯示出模型規模、數據…

鴻蒙系統應用開發全棧指南

一、開發環境搭建與工具鏈配置 1. DevEco Studio深度解析 作為鴻蒙生態的官方IDE,DevEco Studio 4.2版本已集成ArkTS 3.0編譯器與AI代碼助手功能。安裝過程需注意: 系統要求:Windows 10 21H2或macOS Monterey以上環境依賴:Node…

iOS18 MSSBrowse閃退

iOS18 MSSBrowse閃退 問題方案結果 問題 最近升級了電腦系統(15.4.1),并且也升級了xcode(16.3)開發工具。之后打包公司很早之前開發的項目。 上線之后發現在蘋果手機系統18以上,出現了閃退問題。 涉及到的是第三方MSSBrowse,在選擇圖片放大的…

鴻蒙-使用Charles抓包

目錄 前言鴻蒙應用中的網絡請求rcp 抓包http 抓包 以下是排查過程,沒啥參考價值發送文件http 抓包報錯 前言 抓包,對于各位開發者應該不陌生,各種抓包工具應該的都聽說過,像 charles、fiddler、Wireshark?等。在 Android 和 iOS…

回顧|Apache Cloudberry? (Incubating) Meetup·2025 杭州站

2025 年 4 月 19 日,由酷克數據與中啟乘數聯合舉辦的 Apache Cloudberry? (Incubating) Meetup 杭州站在浙江省杭州市濱江區濱江會展中心成功舉辦。本次活動邀請了 Cloudberry PPMC 團隊成員、活躍內核貢獻者以及中興 EBASE-A、阿里云 ADB-PG、網易、中啟乘數等多…

Linux網絡編程 深入Linux網絡棧:原始套接字鏈路層實戰解析

之前我們編程都是在應用層,只需在地址結構體中傳 地址與端口號。然后協議棧在傳輸層,與網絡層幫我們進行數據的封裝。但這里我們要學的是在鏈路層進行編程 這里我想說一下,當數據到達鏈路層,有三個分支:ARP&#xff0c…

用python寫一個相機選型的簡易程序

最近有點忙,上來寫的時間不多。 今天就把之前寫的一個選型的簡易程序,供大家參考。 代碼: import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,QLabel, QLineEdit, QPushButton, QGro…

【實戰篇】數字化打印——打印格式設計器的功能說明

前言 myBuilder內置了覆蓋豐富場景的打印格式設計器,效果統一,功能完善。 設計器一:小票 用于設計小票、水單等滾筒紙張的場景,例如:超市購物小票 主要功能 打印格式的保存、下載、上傳設計時功能:撤銷…

Qt 中 QSQLITE 和 QODBC 數據庫連接的區別

Qt 中 QSQLITE 和 QODBC 數據庫連接的區別 這兩行代碼都是創建 Qt 數據庫連接,但使用了不同的數據庫驅動和連接方式: 1. QSqlDatabase::addDatabase("QSQLITE") 特點: 使用 SQLite 數據庫的 原生驅動直接與 SQLite 數據庫文件(…