在JAVA中这句for(QuizCard:cardList)循环条件的代码里":"冒号是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:00:06
在JAVA中这句for(QuizCard:cardList)循环条件的代码里":"冒号是什么意思?还有个问题就是FileOutPutStream 和FileWriter有什么不同?这两个好像都能实现一样的目的

try{
BufferedWriter writer=new BufferWriter(new FileWriter(file));
for(QuizCard:cardList){
writer.write(card.getQuestion());
writer.write(card.getAnswer)

}

}

FileWriter一般用于输出文本内容,FileOutputStream则可用于文本和二进制内容。
冒号指迭代,即不断从List里取其中的元素,赋值给临时变量card。从JDK1.5开始,冒号就可以实现很方便的读取List里的内容了。

int[] count = new int[10];
for(i:count){
System.out.println(i);
}
就是这个意思.
仔细看书.其实这些都不是问题.

例:
byte[] array = {'1','2'};

for(byte x : array){
System.out.println(x); //for each循环,就是用x迭代array中所有byte
}

for(QuizCard:cardList) //这里就是用QuizCard迭代cardList中的所有..

FileOutPutStream
FileWriter
从名字可看出一个是继承于OutPutStream 一个继承于Writer
简单可以这样理解 第一个基于流传输,第二个基于字节