当前位置: 首页 > 知识库问答 >
问题:

findFragmentByTag中的Null检查与Objects.RequireNonNULL

长孙弘盛
2023-03-14

当我在Androidfindfragmentbytag()中放置空检查时,代码检查建议我添加objects.requirenonnull()方法。当我应用此检查时,代码检查不再警告。那么哪个更好呢?

我已经经历了这个问题。根据我的理解(我可能错了),无论如何都会抛出NullPointerException。

           //3. Hide analytics fragment
            //if (fragmentManager.findFragmentByTag(TAG_ANALYTICS_FRAGMENT) != null) {
                ft.hide(Objects.requireNonNull(fragmentManager.findFragmentByTag(TAG_ANALYTICS_FRAGMENT)));
            //}
            //4. Hide settings fragment
            if (fragmentManager.findFragmentByTag(TAG_SETTINGS_FRAGMENT) != null) {
                ft.hide(fragmentManager.findFragmentByTag(TAG_SETTINGS_FRAGMENT));
            }

共有1个答案

梁丘霖
2023-03-14

objects.requirenonnullJavadoc

此方法主要用于在方法和构造函数中进行参数验证

也就是说,使用它的好处是,您的代码可以从显式如果空检查引起的一些噪音中解脱出来。

 类似资料:
  • 问题内容: 这是下面的代码: 如果值是我仍然得到未选中的框。我是不是应该从上面做错事,应该工作? 有任何想法吗? 问题答案: 使用is_null或运算符。

  • 问题内容: 我正在写一个JPQL查询,它基于 Categories 集合进行查询。我的类别可以为空,因此我正在使用:categories = NULL进行检查。 当类别为NULL时,以上方法可以正常工作。但是,当类别超过一个值时,我得到了错误 java.sql.SQLException:操作数应包含1列 与hibernate有关的痕迹是 (?,?)或(?,?)中的category6_.catego

  • 问题内容: 我应该使用哪种构造来检查Twig模板中的值是否为NULL? 问题答案: 根据您的实际需求: 检查值是否为: {% endif %} 检查是否定义了变量: {% endif %} 另外,对两个值进行类型严格比较的测试可能对检查(如)以外的值很有用:

  • 问题内容: 我在理解Java 和异常之间的区别时遇到了一些问题。 首先,异常应该在编译时寻找异常。在不同来源中提供的示例引用了数据库连接性,其中一些是文件处理,而异常应该是在程序员方面寻找错误,例如索引超出数组范围等。 不应该反过来吗?我的意思是,数据库连接是在运行时完成的,对吧?文件处理也是如此。您没有在编译时打开文件句柄,那么为什么在编译时会寻找一个可能的错误呢?另一方面,超出数组范围的索引已

  • 如何预防 Java 中著名的 NullPointerException 异常?这是每个 Java 初学者迟早会问到的关键问题之一。而且中级和高级程序员也在时时刻刻规避这个错误。其是迄今为止 Java 以及很多其他编程语言中最流行的一种错误。 Null 引用的发明者 Tony Hoare 在 2009 年道歉,并称这种错误为他的十亿美元错误。 我将其称之为自己的十亿美元错误。它的发明是在1965 年