Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在本例中,需要取消装箱时是否使用装箱?_Java_C#_Boxing_Unboxing - Fatal编程技术网

Java 在本例中,需要取消装箱时是否使用装箱?

Java 在本例中,需要取消装箱时是否使用装箱?,java,c#,boxing,unboxing,Java,C#,Boxing,Unboxing,我在理解下面的部分时有些困难 C#和更新版本的Java执行自动装箱和 取消装箱操作可以避免 包装器语法在许多情况下: ht.put(13, 31); int m = (Integer) ht.get(13); 在这里,Java编译器创建隐藏的整数对象来保存 值13和31,因此可以将它们作为引用传递给put最新版本 仍然需要对返回值进行整数强制转换,以确保 13的哈希表条目实际上是一个整数,而不是,比如说,一个 OIOTION点号或String。< /强>泛型,我们将在其中考虑。 第7.3.1节

我在理解下面的部分时有些困难

C#和更新版本的Java执行自动装箱和 取消装箱操作可以避免 包装器语法在许多情况下:

ht.put(13, 31);
int m = (Integer) ht.get(13);
在这里,Java编译器创建隐藏的整数对象来保存 值13和31,因此可以将它们作为引用传递给put最新版本 仍然需要对返回值进行整数强制转换,以确保 13的哈希表条目实际上是一个整数,而不是,比如说,一个 OIOTION点号或String。< /强>泛型,我们将在其中考虑。 第7.3.1节,允许程序员声明一个仅包含 整数。在Java中,这将消除强制转换返回的需要 价值在C#中,它将消除拳击的需要

  • 我想知道“返回时的整数”是什么意思 值,以确保13的哈希表条目 实际上是一个整数,而不是一个浮点数或浮点数 字符串“?请注意,这是用Java编写的

    intm=(整数)ht.get(13)中,是否使用装箱(通过
    取消装箱(分配给
    int
    )期间的
    (整数)

    具体来说,
    (整数)
    是否将其操作数转换为
    整数
    类?但是它的操作数ht.get(13)
    已经是一个
    Integer
    对象,现在赋值需要一个内置值 键入
    int
    。所以我们不需要从
    Integer
    int
    的转换吗 这里

  • 泛型如何在中“消除强制转换返回值的需要” 爪哇

    在C#中,它将如何“消除拳击的需要”

  • 谢谢

  • 在声明
    ht
    时不指定泛型类型,
    get()
    的返回类型是
    Object
    ,因此必须将其转换为
    Integer
    。然后,Java将自动将其取消装箱到
    int

    演员阵容本身不进行任何转换。它只是告诉编译器将
    对象
    视为
    整数
    。如果对象实际上不是一个
    整数
    ,则运行时将发生
    类异常

  • 使用泛型类型时,
    ht
    可能会声明为
    Map
    ,因此
    get()
    将返回
    Integer
    ,强制转换将是多余的

    在C#中,它可以声明为
    Map
    的Java等价物。Java不支持将基元类型作为泛型类型参数,因此语法是非法的

  • 在声明
    ht
    时不指定泛型类型,
    get()
    的返回类型是
    Object
    ,因此必须将其转换为
    Integer
    。然后,Java将自动将其取消装箱到
    int

    演员阵容本身不进行任何转换。它只是告诉编译器将
    对象
    视为
    整数
    。如果对象实际上不是一个
    整数
    ,则运行时将发生
    类异常

  • 使用泛型类型时,
    ht
    可能会声明为
    Map
    ,因此
    get()
    将返回
    Integer
    ,强制转换将是多余的

    在C#中,它可以声明为
    Map
    的Java等价物。Java不支持将基元类型作为泛型类型参数,因此语法是非法的

  • 在该示例中,
    Hashtable#get
    的返回类型为
    Object
    。那评论与拳击无关。谢谢。如果它的返回已经是
    整数
    ,为什么要将
    (Integer)
    应用于它的返回?在泛型世界中,(Integer)强制转换非常混乱,但这里的想法是将原始返回类型(对象)强制转换为(Integer),然后将其取消装箱为(int)。因此返回的值可能是对
    整数的引用,但是表达式
    ht.get(..)
    的编译时类型是
    Object
    Object
    不能通过赋值表达式转换为
    int
    ,您需要强制转换。
    Hashtable#get
    在该示例中的返回类型为
    Object
    。那评论与拳击无关。谢谢。如果它的返回已经是
    整数
    ,为什么要将
    (Integer)
    应用于它的返回?在泛型世界中,(Integer)强制转换非常混乱,但这里的想法是将原始返回类型(对象)强制转换为(Integer),然后将其取消装箱为(int)。因此返回的值可能是对
    整数的引用,但是表达式
    ht.get(..)
    的编译时类型是
    Object
    <代码>对象
    不能通过赋值表达式转换为
    int
    ,您需要强制转换。