zoukankan      html  css  js  c++  java
  • 从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)。

     

  • 相关阅读:
    CSS 之 伪类及伪元素
    php使用strlen()判断中文汉字字符串长度
    代码评审
    Windows下获取本机IP地址方法介绍
    c++ windows 获取mac地址
    Windows编译安装OpenSSL
    visio studio2008 删除最近的项目
    Windows中杀死占用某个端口的进程
    apache日志文件太大的问题
    text段,data段,bss段,堆和栈
  • 原文地址:https://www.cnblogs.com/qisunpeng/p/2053468.html
Copyright © 2011-2022 走看看