为什么方法在声明之后总是返回true的情况下要求返回值?

用户467871:

为什么此方法(测试)需要返回值(始终为true)?

public boolean test() { //This method must return a result of type boolean
    if (true) {
       return true; // always return true
    }
}

当我添加返回值时,它警告为“ Dead code”所以,为什么不接受第test()一种方法

public boolean test(int i) {
   if (true) {
      return true;
    } else { //Dead code
      return false;
    }
 }
Thecoop:

方法返回分析不会分析if条件是否始终为true或false,因为通常它不是编译时常量(否则您一开始就不会编写ifin)。它只是看到有一个if可以或不能采用的,如果不采用,则该方法不会返回值,因此会返回错误。

无效代码分析是在方法返回分析的单独过程中完成的,方法返回分析将对分支条件进行更深入的分析。

我完全不知情的猜测是,这种行为是编译器如何开发的产物。方法返回分析是编译的重要组成部分,以确保最终获得有效的程序,因此首先要实现的核心功能之一。死代码分析是“很不错的”,因此稍后使用更复杂的算法进行了实现(因为核心编译器位已在该阶段完成)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

是字符串池工程从方法返回值的情况下?

来自分类Java

如何在不运行方法的情况下模拟方法调用并返回值?

来自分类Javascript

为什么JavaScript函数总是返回值?

来自分类Dev

在什么情况下crypto / rand read()的两个返回值会有用?

来自分类Dev

为什么在这种情况下bool和not bool都返回true?

来自分类Dev

为什么此函数在给定右值参数的情况下返回左值引用?

来自分类Dev

为什么我的WebClient在大多数情况下会返回404错误,但并非总是如此?

来自分类Dev

为什么Int32.Equals(Int16)在不反向的情况下返回true?

来自分类Dev

为什么在这种情况下UniquelyReferencedNonObjC返回false?

来自分类Dev

在这种情况下,为什么“ std :: begin()”总是返回“ const_iterator”?

来自分类Dev

为什么在if语句中myNumber == True返回False的情况下,Python将字符串/数字评估为True?

来自分类Dev

在返回值可能无效的情况下,编写Java方法的公认方法是什么?

来自分类Dev

为什么在这种情况下isinstance()返回False?

来自分类Dev

在某些情况下,将auto用作返回类型和返回值nullptr

来自分类Dev

为什么总是返回true的条件类型在这种情况下不进行检查

来自分类Dev

在这种情况下,有效替代“ None”作为空返回值的方法是什么

来自分类Dev

Javascript Switch语句多个情况下返回值

来自分类Dev

如何创建一个默认情况下返回值但又具有扩展方法的方法?

来自分类Dev

如何在不运行for循环的情况下使类的iter方法返回值?

来自分类Dev

为什么==在这种情况下不返回true?

来自分类Dev

为什么在这种情况下StringBuilder.Equals返回“ true”?

来自分类Dev

更改方法的返回值,在每种情况下均保持不变

来自分类Dev

当我在分区中使用方法时,为什么将其计为方法而不是返回值类型(在这种情况下为整数)?

来自分类Dev

为什么此方法总是将0用作返回值?

来自分类Dev

为什么在这种情况下,andmap返回#t?

来自分类Dev

JavaScript异步函数,当没有返回值的情况下,返回时应答应解决

来自分类Dev

在这种情况下,为什么 GetExternalLoginInfoAsync() 返回 null?

来自分类Dev

为什么返回值总是空字符串?

来自分类Dev

Python:在不添加返回值的情况下获取返回的模拟函数值,而不是 MagicMock

Related 相关文章

  1. 1

    是字符串池工程从方法返回值的情况下?

  2. 2

    如何在不运行方法的情况下模拟方法调用并返回值?

  3. 3

    为什么JavaScript函数总是返回值?

  4. 4

    在什么情况下crypto / rand read()的两个返回值会有用?

  5. 5

    为什么在这种情况下bool和not bool都返回true?

  6. 6

    为什么此函数在给定右值参数的情况下返回左值引用?

  7. 7

    为什么我的WebClient在大多数情况下会返回404错误,但并非总是如此?

  8. 8

    为什么Int32.Equals(Int16)在不反向的情况下返回true?

  9. 9

    为什么在这种情况下UniquelyReferencedNonObjC返回false?

  10. 10

    在这种情况下,为什么“ std :: begin()”总是返回“ const_iterator”?

  11. 11

    为什么在if语句中myNumber == True返回False的情况下,Python将字符串/数字评估为True?

  12. 12

    在返回值可能无效的情况下,编写Java方法的公认方法是什么?

  13. 13

    为什么在这种情况下isinstance()返回False?

  14. 14

    在某些情况下,将auto用作返回类型和返回值nullptr

  15. 15

    为什么总是返回true的条件类型在这种情况下不进行检查

  16. 16

    在这种情况下,有效替代“ None”作为空返回值的方法是什么

  17. 17

    Javascript Switch语句多个情况下返回值

  18. 18

    如何创建一个默认情况下返回值但又具有扩展方法的方法?

  19. 19

    如何在不运行for循环的情况下使类的iter方法返回值?

  20. 20

    为什么==在这种情况下不返回true?

  21. 21

    为什么在这种情况下StringBuilder.Equals返回“ true”?

  22. 22

    更改方法的返回值,在每种情况下均保持不变

  23. 23

    当我在分区中使用方法时,为什么将其计为方法而不是返回值类型(在这种情况下为整数)?

  24. 24

    为什么此方法总是将0用作返回值?

  25. 25

    为什么在这种情况下,andmap返回#t?

  26. 26

    JavaScript异步函数,当没有返回值的情况下,返回时应答应解决

  27. 27

    在这种情况下,为什么 GetExternalLoginInfoAsync() 返回 null?

  28. 28

    为什么返回值总是空字符串?

  29. 29

    Python:在不添加返回值的情况下获取返回的模拟函数值,而不是 MagicMock

热门标签

归档