关于Java类型不匹配的错误,至今才看懂

在java程序调试或运行的时候,经常会遇到java.lang.NoSuchMethodError或java.lang.ClassCastException的错误。接着是一堆如下的东西:

[B cannot be cast to java.lang.Byte

xxx cannot be cast to uuu.

...

大致知道是类型不匹配导致的错误,平时也没留意后面写的啥,直到一次使用dom4j包时,在debug的时候发现里面的一个方法有n个同名的重载形式,

然而那个 "[B" 又不知道是啥意思,百度无果,只能一个个瞅了,杯具!


终于,在最近看API文档的时候,不经意间看到了Class类的getName()这个方法,眼前一亮。在此对该方法稍做个小结,以儆后虫:


1. 引用类型: 返回二进制名称。(java.lang.string,java.lang.Integer)

2. 基本类型或void: 返回对应Java关键字相同的String。(int,void)
3. 数组类型:返回'['字符加元素类型名,多维数组则多个'['字符;元素类型名对应如下;([B,[Ljava.lang.String)
    Element Type                Encoding  
     boolean                             Z  
    byte                                    B  
    char                                   C  
     class or interface       Lclassname;  
    double                              D  
    float                                   F  
    int                                      I  
     long                                 J  
    short                               S 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值