最近工程抓取到了几个崩溃信息,查看了下抓取到的bug,都是工具类出现异常,以前写完工具类都要测试好多遍,不觉着工具类会出现什么问题,就没太在意,但是最近发现有好多奇葩设备,奇葩的自定义系统不按常规出牌,就是会有各种各样的问题。
工具类就是为其他方法提供方便使用的工具,那么最最重要的就是要保证工具自身好用,起码不能影响调用者。
下面总结几点Android下工具类需要具备的几点基本要求
工具类
-
final修饰
工具类不再需要继承,也没有必要让别人继承,那么final修饰一下,提升下逼格。
-
构造方法私有化
工具类一般不允许new对象,直接使用工具类名,点,方法名就可以了
-
方法public static修饰
工具类私有化以后,想要调用工具方法,必须使用public static修饰
-
没有返回值的方法均 try catch
如果工具类出现问题,在cathc里做处理
-
有返回值的的方法均 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;
}
}
……
}