• 从substring()方法看android的容错机制有待改进.


    最近在学习android,用到substring()方法,得到收获如下:

    1、substring()方法是用于截取字符串,功能跟VC的Mid()函数一样,但参数还是有较大差别的。

    先看JAVA中substring的方法定义:

    public String substring (int start, int end)

    再看VC中Mid()函数的定义:

    CString Mid( int nFirst, int nCount )

    第一个参数start(nFirst)没啥问题,关键是第二个参数end(nCount),说明如下:

    “end”是指字符串的物理位置,而“nCount”是指取几个字符,例如:

    java(android):

    String a1="123456789";

    String a2=a1.substring(2,7);

    a2结果是:"34567";

    VC:

    CString a1="123456789";

    CString a2=a1.Mid(2,7);

    a2的结果是:“3456789”;

    这就是第二个参数end(nCount)的区别。

    2、再看一下substring()方法的容错问题,例如把前面的改为:

    a2=a1.substring(7,2);

    编译是没问题的,但在android模拟器中运行就出现异常!所以我觉得android的容错机制真的有待改进,因为在编译阶段不提示哪里有问题,待到模拟环境中运行才说“出现意外”要终止(也不提示出现意外的原因),这样不够人性化,有时几百行的代码,真的不知道哪里的问题。

    PS:买了本android的书,正在学android(java)。

     

  • 相关阅读:
    序列化限流排序
    linux常用命令
    Django路径问题
    asp.net 后台 修改 javascript 变量
    支持 IE8 IE11 和 FF, Chrome 浏览器的圆角
    Asp.net Response.Redirect with post data
    gridview 字段没有绑定由于column visible= false
    聪明的小技巧
    GridView
    各种集合
  • 原文地址:https://www.cnblogs.com/qisunpeng/p/2053468.html
Copyright © 2020-2023  润新知