1

我们的项目使用 google guava、apache commons 和其他具有常见任务的库,我想知道这些库是否包含执行 null 安全转换(对象到数字、对象到字符串)的方法。至于现在我给自己写了一些辅助方法,例如:

int parseInteger(Object obj) {
        if (obj!= null) {
            if (obj instanceof Integer) return (Integer) obj;
            if (obj instanceof Long) return ((Long) obj).intValue();
            return Integer.parseInt(obj.toString());
        } else {
            return 0;
        }
    }
4

1 回答 1

6

我很确定番石榴中没有这样的东西。正如已经指出的

Guava 试图强迫您尽可能避免使用 null,因为在 null 存在下不正确或未记录的行为会导致大量的混乱和错误。我认为尽可能避免使用空值绝对是一个好主意,如果您可以修改代码使其不使用空值,我强烈推荐这种方法。

类似的论点适用于parseEverythingAsInt。您正在寻找一种接受任何东西并返回int. 这种方法的存在鼓励人们编写返回任何东西的方法。这肯定不是好的做法,因为严格有助于防止错误。这就是为什么我很确定番石榴中没有这种方法。

也许我的答案最好是评论,但它太长了,无论如何我认为不会有一个肯定的答案。

于 2012-06-25T13:18:10.547 回答