gpt4 book ai didi

java - 将 var 与文字一起使用会导致原始包装类还是原始包装类?

转载 作者:IT老高 更新时间:2023-10-28 21:00:49 26 4
gpt4 key购买 nike

阅读并谈论Java 10s新的保留类型名称var( JEP 286: Local-Variable Type Inference ),讨论中出现了一个问题。

将它与以下文字一起使用时:

var number = 42;

number 现在是 int 还是 Integer?如果您只是将它与比较运算符或作为参数一起使用,它通常无关紧要,这要归功于自动装箱和 -unboxing。但是由于 Integer 的成员函数,它可能很重要

那么var创建的类型是原语int还是类Integer

最佳答案

var 要求编译器从初始化器的类型推断变量的类型,而42的自然类型是int .所以 number 将是一个 int。这就是 JLS example says :

var a = 1;  // a has type 'int' 

如果它以任何其他方式工作,我会感到惊讶,当我写这样的东西时,我绝对期待一个原始的。

如果你需要一个 var 作为盒装原语,你可以这样做:

var x = (Integer) 10;  // x is now an Integer

关于java - 将 var 与文字一起使用会导致原始包装类还是原始包装类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49424378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com