Java是否有自动类型推断功能?

autoJava中是否像C ++中一样有变量类型?

一个例子:

for ( auto var : object_array)

std::cout << var << std::endl;

for( auto var : object_array)

var.do_something_that_only_this_particular_obj_can_do();

我知道Java中有一个增强的for循环,但是有自动吗?如果不是,是否有这样做的技巧?我指的是C ++ 11中的新功能

回答:

在问题被 之前回答:

auto,Java中没有变量类型。可以通过以下方式实现相同的循环:

for ( Object var : object_array)

System.out.println(var);

Java具有局部变量,其范围在定义它们的块内。 _与C和C 类似,但是没有auto或register关键字。

但是,Java编译器将不允许使用未明确初始化的局部变量,并且会产生编译错误(与C和C

不同,在该情况下,编译器通常只会发出警告)。_礼貌:Wikipedia。

不,在Java中没有像C

++这样的主流类型推断。有一个RFE,但是由于“将无法解决”而关闭,给出的原因是:

人类可以通过两种方式从类型声明的冗余中受益。首先,冗余类型可以作为有价值的文档-

读者不必搜索getMap()的声明来查找返回的类型。其次,冗余允许程序员声明预期的类型,从而受益于编译器执行的交叉检查。

以上是 Java是否有自动类型推断功能? 的全部内容, 来源链接: utcz.com/qa/410156.html

回到顶部