问题描述
- FileStore store:stores是什么意思,“:”号在其中扮演什么角色?
-
public class TestFile { public static void main(String[] args) { // TODO Auto-generated method stub FileSystem filesystem = FileSystems.getDefault(); Iterable<FileStore> stores = filesystem.getFileStores(); for(FileStore store:stores) System.out.println(store.name()); } }
解决方案
简单来说,for (a : b)是表示对集合b进行迭代,冒号前面的变量代表冒号后面集合变量中的一项
具体参考:http://www.cnblogs.com/elleniou/archive/2012/04/27/2473050.html
我就不重复了。
解决方案二:
java foreach用法,冒号是固定语法。
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
解决方案三:
说一句java程序员不要生气的话,java抄C#又不好意思抄的太像,所以foreach非要叫for,lambda表达式的=>非要写成->。
当然,就是抄袭不好意思抄得太像,也是和C#学的。当年C#抄java也不敢抄得太像,所以extends和implements也换成了冒号。
时间: 2024-10-27 22:24:50