Android中类型安全转换函数

类型安全转换函数

在开发过程中,我们经常会因为类型转换不正确导致程序崩溃,主要的集中在两个地方:Object类型的对象、substring函数。

  • 对于一个Object类型的对象,我们对其直接使用字符串操作函数toString,当其为null时就会崩溃。比如:
int result=Integer.valueOf(obj.toString());

如果这个obj对象为空,那么这行代码会直接崩溃。为了解决这个问题,我们需要编写一个类型安全转换函数convertToInt,如果转换失败,就返回默认值。代码如下:

public final static int convertToInt(Object value,int defaultValue){
    if(value==null||"".equals(value.toString().trim())){
        return defaultValue;
    }
    try{
        return Integer.valueOf(value.toString);
    }catch(Exception e){
        try{
            return Double.valueOf(value.toString()).intValue();
        }catch(Exception e1){
            return defaultValue;
        }
    }
}
  • 如果长度不够,那么执行substring函数时,就会崩溃。所以在使用substring函数时,都要判断start和end两个参数是否越界了。例如:
String cityName="T";
String firstLetter="";
if(cityName.length()>1){
    firstLetter=cityName.substring(1,2);
}

你可能感兴趣的:(android)