有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Guice注入空检查?

我在构造函数级别使用google guice inject。对参数进行null检查以确保它们不为null有意义吗?或者inject为我们这样做。顺便说一句,它是一个公共构造函数

那公共方法呢


共 (1) 个答案

  1. # 1 楼答案

    仅仅因为在某些情况下使用Guice调用构造函数并不意味着禁止调用其他任何东西

    就个人而言,我会包括空值检查——如果你也使用番石榴的话,这对原油来说是非常轻的。例如:

    import static com.google.common.base.Preconditions.checkNotNull;
    
    class Player implements SomeInterface {
        private final String name;
    
        @Inject
        Player(String name) {
            this.name = checkNotNull(name);
        }
    
        ...
    }
    

    除此之外,我希望您的一些测试能够直接调用构造函数,而且尽早发现测试中的任何错误非常有用,就像其他代码一样。它还向后来出现的任何人清楚地表达了你的意图