首页 新闻 搜索 专区 学院

StringBuilder为什么Length为负数

0
悬赏园豆:5 [已关闭问题] 关闭于 2012-10-18 20:03

StringBuilder为什么Length为负数

ycty的主页 ycty | 初学一级 | 园豆:112
提问于:2012-10-18 09:04
< >
分享
所有回答(3)
0

你怎么得出Length为负数的结论的呢?或者你把调试过程贴出来看看呢

田林九村 | 园豆:2367 (老鸟四级) | 2012-10-18 09:19
 private static StringBuilder sb = new StringBuilder();   
public static String getIpStringFromBytes(byte[] ip) { 
        sb.delete(0, sb.length());   //报java.lang.ArrayIndexOutOfBoundsException: -13
        sb.append(ip[0] & 0xFF);   
        sb.append('.');        
        sb.append(ip[1] & 0xFF);   
        sb.append('.');        
        sb.append(ip[2] & 0xFF);   
        sb.append('.');        
        sb.append(ip[3] & 0xFF);   
        return sb.toString();   
    }   
支持(0) 反对(0) ycty | 园豆:112 (初学一级) | 2012-10-18 09:24

@ycty: java.lang.ArrayIndexOutOfBoundsException: -13

这个的意思不是length=-13啊

支持(0) 反对(0) 田林九村 | 园豆:2367 (老鸟四级) | 2012-10-18 11:55
0

都已经报错了,怎么可能是对的呢?

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-18 09:36

但报的是

sb.length()=-13,我现在想问什么情况下,会出现
支持(0) 反对(0) ycty | 园豆:112 (初学一级) | 2012-10-18 09:39
0

人家给你抛出的异常说是sb.length()=-13吗?那是人家自定义的状态码吧?你加断点到那一句上面,然后命中断点的时候看看sb的长度。

顾晓北 | 园豆:10819 (专家六级) | 2012-10-18 09:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册