黑马程序员技术交流社区

标题: 装饰包装类问题 [打印本页]

作者: 王薇熔    时间: 2012-8-1 23:46
标题: 装饰包装类问题
import java.io.*;
class MyReaderLine
{
private FileReader fr;
MyLineNumber(FileReader fr)
{
  this.fr=fr;
}
public String ReadLine()throws IOException
{
  StringBuilder sb = new StringBuilder();
  int ch = 0;
  while ((ch=fr.read())!=-1)
  {
   if(ch=='\r')
    continue;
   if(ch=='\n')
    return sb.toString();
   else
    sb.append((char)ch);
  }
  if(sb.length()!=0)  //为什么此处要用容器的长度方法呢?  不能这样判断?  if(sb.toString()!=null)  为什么不能这样呢?
   return sb.toString();
  return null;
   
  
}
public void close()throws IOException
{
  fr.close();
}
}
作者: 王志明    时间: 2012-8-3 21:17
public String ReadLine() throws IOException {
             // 因为StringBuilder是经过构造器初始化时的,默认长度为0
        StringBuilder sb = new StringBuilder();
        int ch = 0;
        while ((ch = fr.read()) != -1) {
                if (ch == '\r')
                        continue;
                if (ch == '\n')
                        return sb.toString();
                else
                        sb.append((char) ch);
                }
        if (sb.length() != 0) // 为什么此处要用容器的长度方法呢? 不能这样判断?
                             // if(sb.toString()!=null) 为什么不能这样呢?
                return sb.toString();
        return null;
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2