来源:蜘蛛抓取(WebSpider)
时间:2012-05-07 14:03
标签:
java command
博客访问: 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) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。