Java是否像C++中一样具有auto
变量类型?
一个例子:
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中的新功能
最佳答案
Java 10引入了var
标识符,类似于C++ auto
;参见sorrymissjackson's answer。
在Java 10之前,没有等效的auto
关键字。可以通过以下方式实现相同的循环:
for ( Object var : object_array)
System.out.println(var);
Java具有局部变量,其范围在定义它们的块内。与C和C++类似,但是没有auto或register关键字。但是,Java编译器不允许使用未明确初始化的局部变量,并且会产生编译错误(与C和C++不同,在C和C++中,编译器通常只会发出警告)。礼貌:Wikipedia。Java中没有像C++这样的主流类型推断。有一个RFE,但由于“将无法修复”而关闭。给定的是: