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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© anyanyhai 中级黑马   /  2012-3-25 22:36  /  1736 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    FileReader fr = new FileReader("demo.txt");
               
    int ch = fr.read();                           \\能不能写为char ch=fr.read();下一句就不用转换了
    System.out.println("ch="+(char)ch);
               

4 个回复

倒序浏览
不可以吧,Filereader.read()返回值类型是int类型的,把int类型变换为char类型需要强制转换才可以,
char ch=(char)fr.read();这样应该可以, 不强制转换会报错吧。如果要是隐式转换的话可以不用强制转换java 虚拟机会自动帮您转换的。但是int 变为char是需要强制转换的。
回复 使用道具 举报
不可以,read的方法返回类型是int的  是返回的字符在ascII码表对应的数字     除非你从新写一个返回类型为char类型的read方法
回复 使用道具 举报
看看我问的问题多菜,问完之后才意识到这是“流”。
知道为什么了。
下次问问题的先自己想好了
回复 使用道具 举报
anyanyhai 发表于 2012-3-25 23:30
看看我问的问题多菜,问完之后才意识到这是“流”。
知道为什么了。
下次问问题的先自己想好了 ...

不可以,因为这个方法在封装的时候就已经把返回类型定义成int了,所以不能那样写。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马