• 从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)。

     

  • 相关阅读:
    Django: ModelForm中Meta的fields等成员介绍
    python的random函数
    设置mysql隔离级别
    ubantu 下 修改mysql 默认编码
    jdbc 模板 连接
    sql 注入 与解决
    jdbc 简单连接
    动态代理 例子
    自定义的一个数据输入类
    类加载器 读取配置文件
  • 原文地址:https://www.cnblogs.com/qisunpeng/p/2053468.html
Copyright © 2020-2023  润新知