您当前的位置: 首页 >  Java

qq_34412985

暂无认证

  • 0浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java 类部类必须声明为static静态的 com.alibaba.fastjson.JSONException: can‘t create non-static inner class ins

qq_34412985 发布时间:2021-11-11 21:46:00 ,浏览量:0

根据组里其他人的分享,这个问题主要是因为Java内部类和嵌套类的实现机制造成的,首先按照Java编程思想的说法,静态的内部类叫做嵌套类,那么两者有什么区别呢?一般的内部类虽然在源代码中没有写,但是编译后会看到里面多了一个指向外部类的引用,如果使用内部类进行json序列化,会因为找不到它的外部类而报异常,而嵌套类因为是静态的,里面没有默认的外部类的引用,即使没有外部类的对象也能够使用,因此在json转换的时候不会报错。

原因:

  如果出现类嵌套类的情况,需要将被嵌套的那个类设置为static。

比如:

    public class AA {
        // 相关属性
        public class BB {//会报错
            // 相关属性
        }
    }

应该改为:

    public class AA {
        // 相关属性
        public static class BB {
            // 相关属性
        }
    }
关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0926s