美文网首页Android入门
类型安全转换函数

类型安全转换函数

作者: looper1211 | 来源:发表于2016-05-31 23:49 被阅读88次

在项目开发测试的过程中甚至上线后,程序的崩溃都是必然的,而类型转换引起的崩溃次数也是不在少数,常见的就包括类型转换异常引起的崩溃,比如通常对obj对象类型的转换,一般都是toString后进行转换,如下:

int num = Integer.valueOf(obj.toString());

试想一下,一旦obj为空,那么调用obj.toString肯定会报空指针错误,这个obj通常都是从Json数据中取出来的,对于服务端返回的json数据,是无法保证其永不为空的

比如好的做法是,编写一个类型安全转换函数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;
            }
        }
    }

把这个方法就可以放到Utils类中,每当要把一个object对象转换为整型时,都使用该方法,这样就不会崩溃了。

int num = Utils.convertToInt(obj, 0);

以上只是其中一中类型安全转换函数,相应的,我们还需要在Utils中提供诸如object到long、double、float等类型的安全转换函数,以满足开发要求。

相关文章

  • 类型安全转换函数

    在项目开发测试的过程中甚至上线后,程序的崩溃都是必然的,而类型转换引起的崩溃次数也是不在少数,常见的就包括类型转换...

  • 自动转换函数

    内置类型间转换 自定义类型的类型转换 使用构造函数进行类型转换 例如 自动转换函数(运算符转换) 例子

  • 四、SQL函数④(其他函数)

    类型转换 隐式转换:数据库系统自动将字符串类型转换为整数类型显式转换:使用类型转换函数转换。使用类型转换函数不仅可...

  • 博览网--C++面向对象高级编程(下)-- C++学习第四周笔记

    一、 转换函数 conversion function 1) 转换函数没有返回类型,函数名称就是转换后的类型 2)...

  • GeekBand C++ WEEK3

    一 . 关于类型转换 1. conversion function (转换函数) —— “转出去” 类型转换函数的...

  • 类型转换

    用转换构造函数进行类型转换 主要用于其它类型到本类类型的转化。 转换构造函数格式 特点转换构造函数,本质是一个构造...

  • 4.函数

    数据类型转换 Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数: ...

  • 2019-05-06 Python --调用函数

    数据类型转换 Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数: ...

  • hive_条件函数和类型转换函数

    条件函数 类型转换函数

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

网友评论

    本文标题:类型安全转换函数

    本文链接:https://www.haomeiwen.com/subject/auchdttx.html