亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java異常處理之java.lang.ClassCastException問(wèn)題

 更新時(shí)間:2024年07月31日 08:51:40   作者:小紅的成長(zhǎng)日記  
這篇文章主要介紹了Java異常處理之java.lang.ClassCastException問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

類型轉(zhuǎn)換異常:兩個(gè)類型間轉(zhuǎn)換不兼容

java.lang.ClassCastException:異常解決!

下面僅僅展示部分代碼:

        //java1和java2都是list集合
        Map map = new HashMap();

        map.put("Java1",java1);
        map.put("Java2",java2);

        Set set = map.keySet();
        for (Object obj : set){
            
           StudentPra stu65 = (StudentPra) obj; //改行報(bào)錯(cuò)
           System.out.println(stu65.getClassStu());
           
           List stuList = (List) map.get(obj);
           
           for (Object o2 : stuList){

               StudentPra students = (StudentPra) o2;

               System.out.println("姓名"+students.getName()+",生日"+students.getBrithday());

           }
        }

報(bào)錯(cuò)代碼

StudentPra stu65 = (StudentPra) obj;

1.首先,讀報(bào)錯(cuò)信息:

Exception in thread “main” java.lang.ClassCastException: java.lang.String cannot be cast to cn.xiaozheng.test.StudentPra
at cn.xiaozheng.test.StudentPraTest.main(StudentPraTest.java:53)

2.剖析:

java.lang.String cannot be cast to cn.xiaozheng.test.StudentPra

類型轉(zhuǎn)換異常,就是類型不兼容。

3.看代碼

Map map = new HashMap();
map.put("Java1",java1);

我這里鍵存儲(chǔ)的類型為String類型;

       for (Object obj : set){
            
           StudentPra stu65 = (StudentPra) obj; //改行報(bào)錯(cuò)
           System.out.println(stu65.getClassStu());
           
           List stuList = (List) map.get(obj);
           
           for (Object o2 : stuList){
           ...
           }
       }

而我在改行把String類型轉(zhuǎn)換為了StudentPra類型,所以在后來(lái)需要通過(guò)鍵名獲取到鍵值的時(shí)候,出現(xiàn)類型不兼容的問(wèn)題。

StudentPra stu65 = (StudentPra) obj; //改行報(bào)錯(cuò)

實(shí)際問(wèn)題出在

List stuList = (List) map.get(obj);

無(wú)法正確通過(guò)String類型的鍵獲取到對(duì)應(yīng)類型的值!

其實(shí)我的代碼在書寫的時(shí)候就有點(diǎn)問(wèn)題:因?yàn)槲叶x的鍵的類型為String類型,所以我大可直接輸出,但是現(xiàn)在也算是收獲了一種異常處理!

正確代碼:

        Map map = new HashMap();

        map.put("Java1",java1);
        map.put("Java2",java2);

        Set set = map.keySet();
        for (Object obj : set){

            System.out.println(obj);

           List stuList = (List) map.get(obj);

           for (Object o2 : stuList){

               StudentPra students = (StudentPra) o2;

               System.out.println("姓名"+students.getName()+",生日"+students.getBrithday());

           }
        }

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Boot?3.2.5集成mysql的詳細(xì)步驟記錄

    Spring?Boot?3.2.5集成mysql的詳細(xì)步驟記錄

    作為一名Java開發(fā)者,我們經(jīng)常需要在我們的應(yīng)用程序中使用數(shù)據(jù)庫(kù),在Spring Boot中集成數(shù)據(jù)庫(kù)是非常容易的,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot?3.2.5集成mysql的詳細(xì)步驟,需要的朋友可以參考下
    2024-04-04
  • Spring集成JPA配置懶加載報(bào)錯(cuò)解決方案

    Spring集成JPA配置懶加載報(bào)錯(cuò)解決方案

    這篇文章主要介紹了Spring集成JPA配置懶加載報(bào)錯(cuò)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 深度解析SpringBoot內(nèi)嵌Web容器

    深度解析SpringBoot內(nèi)嵌Web容器

    這篇文章主要給大家介紹SpringBoot的內(nèi)嵌Web容器,SpringBoot將Web容器進(jìn)行了內(nèi)嵌,我們只需要將項(xiàng)目打成一個(gè)jar包,就可以運(yùn)行了,大大省略了開發(fā)成本,那么SpringBoot是怎么實(shí)現(xiàn)的呢,我們今天就來(lái)詳細(xì)介紹
    2023-06-06
  • Java詳細(xì)分析講解泛型

    Java詳細(xì)分析講解泛型

    在正式進(jìn)入內(nèi)容之前說(shuō)明一下:泛型的內(nèi)容太多,也太復(fù)雜。這里因?yàn)镴ava中寫數(shù)據(jù)結(jié)構(gòu)的時(shí)候會(huì)使用到,所以加上。關(guān)于泛型我找了挺多文章,再結(jié)合自己的理解,盡可能將其講清楚。不求會(huì)使用泛型,只要求后面數(shù)據(jù)結(jié)構(gòu)出現(xiàn)泛型的時(shí)候能夠知道是在干什么即可
    2022-05-05
  • Mybatis中resultMap的使用總結(jié)

    Mybatis中resultMap的使用總結(jié)

    resultmap是mybatis中最復(fù)雜的元素之一,它描述如何從結(jié)果集中加載對(duì)象,主要作用是定義映射規(guī)則、級(jí)聯(lián)的更新、定制類型轉(zhuǎn)化器。今天通過(guò)本文給大家介紹Mybatis中resultMap的使用,感興趣的朋友參考下吧
    2021-06-06
  • springboot使用之多個(gè)filter的執(zhí)行順序以及配置方式

    springboot使用之多個(gè)filter的執(zhí)行順序以及配置方式

    這篇文章主要介紹了springboot使用之多個(gè)filter的執(zhí)行順序以及配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springboot+thymeleaf+mybatis實(shí)現(xiàn)甘特圖的詳細(xì)過(guò)程

    springboot+thymeleaf+mybatis實(shí)現(xiàn)甘特圖的詳細(xì)過(guò)程

    這篇文章主要介紹了springboot+thymeleaf+mybatis實(shí)現(xiàn)甘特圖的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • J2SE基礎(chǔ)之JDK環(huán)境變量配置

    J2SE基礎(chǔ)之JDK環(huán)境變量配置

    進(jìn)行java開發(fā),首先要安裝jdk,安裝了jdk后還要進(jìn)行環(huán)境變量配置,下面我們就來(lái)詳細(xì)探討下這個(gè)問(wèn)題。
    2016-05-05
  • 在spring中手寫全局異常攔截器

    在spring中手寫全局異常攔截器

    這篇文章主要介紹了如何在spring中手寫全局異常攔截器,幫助大家更好的理解和使用spring框架,感興趣的朋友可以了解下
    2020-11-11
  • Java構(gòu)造方法和方法重載詳解

    Java構(gòu)造方法和方法重載詳解

    大家好,本篇文章主要講的是Java構(gòu)造方法和方法重載詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01

最新評(píng)論