经验分享——工具类

简介: 最近工程抓取到了几个崩溃信息,查看了下抓取到的bug,都是工具类出现异常,以前写完工具类都要测试好多遍,不觉着工具类会出现什么问题,就没太在意,但是最近发现有好多奇葩设备,奇葩的自定义系统不按常规出牌,就是会有各种各样的问题。

最近工程抓取到了几个崩溃信息,查看了下抓取到的bug,都是工具类出现异常,以前写完工具类都要测试好多遍,不觉着工具类会出现什么问题,就没太在意,但是最近发现有好多奇葩设备,奇葩的自定义系统不按常规出牌,就是会有各种各样的问题。

工具类就是为其他方法提供方便使用的工具,那么最最重要的就是要保证工具自身好用,起码不能影响调用者。

下面总结几点Android下工具类需要具备的几点基本要求

工具类

  1. final修饰

    工具类不再需要继承,也没有必要让别人继承,那么final修饰一下,提升下逼格。

  2. 构造方法私有化

    工具类一般不允许new对象,直接使用工具类名,点,方法名就可以了

  3. 方法public static修饰

    工具类私有化以后,想要调用工具方法,必须使用public static修饰

  4. 没有返回值的方法均 try catch

    如果工具类出现问题,在cathc里做处理

  5. 有返回值的的方法均 try catch finally

    如果工具类出现问题,在catch里做处理,在finally里返回一个默认值

在满足以上几点基本要求的基础上,再去实现工具内容

当然,逻辑严谨是最重要的,不要依赖于try catch

eg

package …….utils;

import ……;

/**
 * Created by kongqw on 2015/12/3.
 */
public final class TextUtil {
    private TextUtil() {
    }

    /**
     * 处理空字符串
     *
     * @param input
     * @return
     */
    public static String replaceSpace(String input) {
        String str = null;
        try {
            str = input.replaceAll("\t", "").replaceAll(" ", "").replaceAll("\r", "").replaceAll("\n", "").replaceAll("\b", "");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            return str;
        }
    }

    ……
}
相关文章
|
架构师 Java 程序员
终于拿到了阿里P8架构师分享的JCF和JUC源码分析与实现笔记java岗
前言 时代的一粒尘,落在每个人身上,就是一座山”。 时代更迭变换,我们好像都知道今天与昨天不同,又好像肉眼看不出哪里不同。 但其实它就正在以各种各样的方式体现在每一个普通人身上。 疫情爆发三个月的时间,截止2020年4月份 全国2296家影视公司破产,1万2千多家教育机构消失,1万1千多家旅游公司倒闭,5万多家小餐馆关门。 截至9月底,疫情影响之下已有46万企业宣布倒闭,而你的资金还能支撑多久? 除此之外, 8月,重庆疫情反复,沙坪坝、九龙坡、巴南、南岸区,一波平复,一波又起... 8月,连续40℃高温天气,引发多起的山林火灾,重庆市限制商业用电,以保居民用电... 8月,海南
93 0
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
335 37
|
3月前
|
Java 测试技术 Spring
Java 新手入门:依赖注入的 N 种姿势,总有一款适合你!
Java 新手入门:依赖注入的 N 种姿势,总有一款适合你!
50 2
|
5月前
|
关系型数据库 C# 数据库
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
52 3
|
5月前
|
编解码 JSON 网络安全
技术经验分享:Javahttpclent请求httpclentUtils工具类
技术经验分享:Javahttpclent请求httpclentUtils工具类
|
12月前
|
负载均衡 NoSQL Java
阿里Java一面,难度适中!(下篇)
阿里Java一面,难度适中!(下篇)
152 0
阿里Java一面,难度适中!(下篇)
|
6月前
|
Java Unix 程序员
【Java程序员面试专栏 专业技能篇】Java SE核心面试指引(二):面向对象思想
【Java程序员面试专栏 专业技能篇】Java SE核心面试指引(二):面向对象思想
70 0
|
消息中间件 分布式计算 NoSQL
阿里P8面试官推荐学习的11大专题:java面试精讲框架文档
本篇文章给大家分享一波,阿里P8面试官推荐学习的11大专题:java面试精讲框架文档,主要包含11大块的内容:spring、springcloud、netty、zookeeper、kafka、Hadoop、HBASE、Cassandra、elasticsearch、spark、flink;希望大家能够喜欢!!
|
Java 程序员
第二季:0本课程前提要求和说明【Java面试题】
第二季:0本课程前提要求和说明【Java面试题】
91 0
|
小程序 搜索推荐 数据安全/隐私保护
分享几个职场工具类的网站!
今天给大家分享几个职场打工人可能会用到的实用工具类网站
118 0

相关实验场景

更多