JavaCookbook-9.面向对象的技术10.输入和输出

      大多数情况下,Java程序不需要编写数据结构的代码。默认情况下对象的toString方法返回的是类名符号@对象的hashcode,如果想输出别的信息,需要重写toString方法。

在对象的equals方法中,可以对两个对象进行比较。如果我们需要实现自定义比较,需要覆盖这个方法,这个方法一些需要注意的地方:自反性,对称性,传递性,一致性和谨慎性。

      命名的内部类要求独立编译,JVM将其命名为MainClass$InnerClass.class,匿名的内部类命名为MainClass$1.class这些内部类不能脱离上下文关系。

      在单例模式中,私有的构造方法阻止了其其它任何类进行实例化。

      Java提供了两套用于读写的类,Java.io包中的流用于读写数据字节,Reader和Writer用于处理文本数据。

      使用System.in的BufferedInputStream来读取字节,如果要读取文本,一般常用InputStreamReader和BufferedReader。程序运行前system.in和system.out以及system.err关联到了三个流相关的设备上。在处理字符时,需要字符转换器,就是Reader类。

      Formatter模仿了C的printf程序,采用的是格式化的代码如”%1$04d%2$f”。但在输出日期时,建议使用DateFormat,因为这样更具有适用性。使用Java.util.Scanner来完成简单的读取任务,Scanner类可以识别Java中的八种类型,该类不提供公用构造器,必须调用静态的create()来或得输入员,输入源是一个File对象、InputStream、String、Readable等。

      要读取一个文件,要依次创建FileReader对象和BufferedReader对象。

      InputStreamReader和outputStreamWriter类是面向字节流与基本字符Reader之间的桥梁。他们读写字节,同时根据制定的字符编码,实现字节与字符之间的转换。为了防止输出时换行的问题,我们要避免toString方法来返回多行字符串,而是应该采用许多语句输出来输出多行字符串的形式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gongqingkui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值