zoukankan      html  css  js  c++  java
  • Java 相同类型强制转换异常

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/u010750497/article/details/88728802

    springboot 出现两个相同的类强转类型报错 java.lang.ClassCastException


    插翅难飞

    今天出现了一个令我感到惊奇的问题

    Java 强转类型,相信大家并不陌生,通常来说,强转类型都是我们知道这个类可以转换成另一个类,可能是他的父类或者是他的同类,这样转换一般来说千百年都不会出错。例如下面的

    //Father 是 son 的父类
    Father father = new Son();
    Son son = (String)father;
    
    • 1
    • 2
    • 3
    • 4

    上面这种方式当然是没有问题的,但是当引用类型的真实身份是父类本身的类型时,强制类型转换就会产生错误。例如:

    //Father 是 son 的父类
    Father father = new Father();
    Son son = (String)father;
    
    • 1
    • 2
    • 3
    • 4

    通常我们在不确定是不是可转的时候,我们会使用instanceof 关键字来判断一下,避免出错的情况。例如:

    //Father 是 son 的父类
    Father father = new Father();
    //当满足条件的时候就可以强转了,否则我就不执行
    if(father instanceof Son){
    	Son son = (String)father;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    是时候打破常规了

    给大佬递可乐
    随着框架的普及,现在很多人都用上了springboot,也引入了越来越多的包,这个时候就很可能会出现包冲突,或者类型引用错误,或者对现有的一些代码造成影响,在这里,我遇到了自己人强转自己人报错的问题,也就是本文的重点“ java.lang.ClassCastException”

    spring boot 项目中如果引入了 spring的devtools 包,就经常会产生这个问题,这个坑我找了几个小时。

    runtime("org.springframework.boot:spring-boot-devtools:${springBootVersion}")
    
    • 1

    这个包如果用的不熟的话,找问题找起来就很费劲了,好了,各位晚安,愿天下代码无bug.

    /**
     *      ┌─┐       ┌─┐ + +
     *   ┌──┘ ┴───────┘ ┴──┐++
     *   │                 │
     *   │       ───       │++ + + +
     *   ███████───███████ │+
     *   │                 │+
     *   │       ─┴─       │
     *   │                 │
     *   └───┐         ┌───┘
     *       │         │
     *       │         │   + +
     *       │         │
     *       │         └──────────────┐
     *       │                        │
     *       │                        ├─┐
     *       │                        ┌─┘
     *       │                        │
     *       └─┐  ┐  ┌───────┬──┐  ┌──┘  + + + +
     *         │ ─┤ ─┤       │ ─┤ ─┤
     *         └──┴──┘       └──┴──┘  + + + +
     *                神兽保佑
     *               代码无BUG!
     */
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    即使没有人为你鼓掌也要优雅的谢幕

                                    </div>
                <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet">
                    </div>
  • 相关阅读:
    HDU 4472 Count DP题
    HDU 1878 欧拉回路 图论
    CSUST 1503 ZZ买衣服
    HDU 2085 核反应堆
    HDU 1029 Ignatius and the Princess IV
    UVa 11462 Age Sort
    UVa 11384
    UVa 11210
    LA 3401
    解决学一会儿累了的问题
  • 原文地址:https://www.cnblogs.com/LoveShare/p/11785056.html
Copyright © 2011-2022 走看看