A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 松毛 高级黑马   /  2013-11-16 11:04  /  1195 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 松毛 于 2013-11-16 20:08 编辑

这是毕老师视频里自定义一个readLine()的方法:
public String myReadLine()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);
                }
                return null;
        }


这里面的ch是int型的,而if(ch == '\r')中'\r'是字符型的,它们之间怎么能够作比较呢? 是不是ch存储的是一个字符的ASCII值啊?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

2 个回复

倒序浏览
'\r'是字符,用unicode表表示,假如代表是97,当读到一个字符一个'\r'字符后,对应了unicode表换成97两者一比较,结果就出来了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马