最新回答 / IOldCat
个人理解是:在对对象进行序列化时,由于父类没有实现接口,导致其数据无法被写进文件;而进行反序列化,是将存储的数据放进对象里边,由于存储数据不具有父类数据,所以没办法直接生成对象,因此在反序列化前会先调用父类的构造方法来生成对象;再进行序列化,(个人觉得类似赋值;
2016-04-14
最赞回答 / lnmp
i++%10 这个可以分两部分看,相当于以下代码i % 10; //i 除以10 的余数 例 如: i=22 则 22 % 10 则余2i = i+1; // i 等于i加1
2016-04-10
最新回答 / stt54321
in.read(buf, 0, buf.length)这个方法不是一次性读完了嘛?首先对于你的这个理解是错误的,因为这个方法正确的理解是把文件内容的字节读入到字节数组buf中,但是文件内容的字节有可能大于字节数组buf的长度,那么文件内容就一次读不完。in.read(buf, 0, buf.length)这个方法可能为-1吗再来说说这个方法的返回值,这个方法返回的是实际读取到字节数组中的字节的数量。官方api明确指出,如果已经达到文件的末尾,返回值为-1.
2016-04-05
最赞回答 / 宋杰
第一:你首先要搞明白编码问题。编码说白了解决的就是字符如何转换成字节(编码)以及字节如何转换成字符(解码)。第二:java IO分为字节流和字符流。字节流和字符流都有很多的实现类,用于不同的场景。第三:为了性能和方便性等考虑,java IO使用的装饰者模式对一些类进行了装饰。如果不知道装饰者模式,请先了解一下。
2016-03-26