各位,我在保存一个字符串时为了使其字节数恰为16的整数倍,在最后填充了若干个'\uffff',在读取时对于最后一个16字节的分组用了下面方法来去除补充的'\uffff'
s.substring(0,s.indexOf("\uffff"));
但由于s.indexOf("\uffff")的值是-1(但s中明明是有\uffff的),程序报错
但如果我在最后不填充'\uffff',而是填充'\u0037',则程序无错
请问这是为什么
谢谢您的帮助

解决方案 »

  1.   

    按你的意思,我刚刚测试了你的程序\uffff  没有问题你的出错信息是什么!!
      

  2.   

    是不是存在不需要你补充\uffff的字符串呢?
      

  3.   

    public class Test{
    public static void main(String args[])
    {
    String s = "hello" + '\uffff' + '\uffff';
    System.out.println(s.substring(0,s.indexOf('\uffff')));
    }
    }正常,没有错误!