java中for (java commandd next : heard) 什么意思

博客访问: 425395
博文数量: 140
博客积分: 2951
博客等级: 少校
技术积分: 1862
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 系统运维
java中的增强for循环可以这样理解:for (Iterator<&&&&&&&&E> #i = (&&&&&&&&expression).iterator(); #i.hasNext(); ) {&&&&&&&&&declaration = #i.next();&&&&&&&&&statement}例子1import java.util.*;
public class TenIntegers implements Iterable<Integer> {
 public Iterator<Integer> iterator() {
  return new Iterator<Integer>() {
   private int count = 0;
   public boolean hasNext() {
    return (count < 10);
   public Integer next() {
    return Integer.valueOf(count++);
   public void remove() {
    throw new UnsupportedOperationException();
 public static void main(String[] args)
  TenIntegers integers = new TenIntegers();
  for (int i : integers)
   System.out.println(i);/* 依次输出从“0"到“9”的十个整数 */
}例子2:package com.oreilly.tiger.ch07;import java.util.Iterator;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;/**&* This class allows line-by-line iteration through a text file.&*
The iterator's remove() method throws UnsupportedOperatorException.&*
The iterator wraps and rethrows IOExceptions as IllegalArgumentExceptions.&*/public class TextFile implements Iterable<String> {&&// Used by the TextFileIterator below&&final String filename;&&&&public TextFile(String filename) {&&&&this.filename = filename;&&}&&&&// This is the one method of the Iterable interface&&public Iterator<String> iterator() {&&&&return new TextFileIterator();&&}&&&&// This non-static member class is the iterator implementation&&class TextFileIterator implements Iterator<String> {&&&&&&// The stream being read from&&&&BufferedReader in;&&&&&&&&// Return value of next call to next()&&&&String nextline;&&&&&&&&public TextFileIterator() {&&&&&&// Open the file and read and remember the first line&&&&&&//
Peek ahead like this for the benefit of hasNext()&&&&&&try {&&&&&&&&in = new BufferedReader(new FileReader(filename));&&&&&&&&nextline = in.readLine();&&&&&&} catch (IOException e) {&&&&&&&&throw new IllegalArgumentException(e);&&&&&&}&&&&}&&&&&&&&// If the next line is non-null, then we have a next line&&&&public boolean hasNext() {&&&&&&return nextline != null;&&&&}&&&&&&&&// Return the next line, but first read the line that follows it&&&&public String next() {&&&&&&try {&&&&&&&&String result = nextline;&&&&&&&&&&&&&&&&// If we haven't reached EOF yet...&&&&&&&&if (nextline != null) {&&&&&&&&&&nextline = in.readLine();
// Read another line&&&&&&&&&&if (nextline == null)&&&&&&&&&&&&in.close();
// And close on EOF&&&&&&&&}&&&&&&&&&&&&&&&&// Return the line we read last time through&&&&&&&&return result;&&&&&&&&&&&&&&} catch (IOException e) {&&&&&&&&throw new IllegalArgumentException(e);&&&&&&}&&&&}&&&&&&&&// The file is read- we don't allow lines to be removed&&&&public void remove() {&&&&&&throw new UnsupportedOperationException();&&&&}&&}&&&&public static void main(String[] args) {&&&&String filename = "TextFile.java";&&&&if (args.length > 0)&&&&&&filename = args[0];&&&&&&&&&&for (String line : new TextFile(filename))&&&&&&System.out.println(line);&&}}
阅读(2643) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 java command 的文章

 

随机推荐