您是否应该在生产代码中使用assert语句断言不为null?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便可以通过编辑此帖子以事实和引文回答。 上个月关闭。 我已经看到了这个问题,但是关于assert关键字的用法还有其他一些问题。我正在和其他一些编码员讨论使用assert。对于此用例,有一种方法可以在满足某些先决条件的情况下返回null。我编写的代码调用该方法,然后断言它不会返回null,并继续使用返回的对象。 例: class CustomObject { private Object object; @Nullable public Object getObject() { return (object == null) ? generateObject() : object; } } 现在想象一下我是这样使用它的: public void useObject(CustomObject customObject) { object = customObject.getObject(); assert object != null; // Do stuff using object, which would throw a NPE if …