最新回答 / 墓中幻相
反序列化出來的是一個對象,對象就好比new Student();創建出來的實例化對象它是在堆內存里的;而把實例化的對象賦值給變量也就是 Object p =?new Student(); 這個變量p只是個變量,他在棧內存里,存儲的是右邊堆內存里對象的引用地址。而輸出這個變量P的話實際上也是輸出他存儲的引用地址
2019-07-08
最贊回答 / qq_prisoner_4
我自己回答一下吧。read方法返回值賦給b不能在while體外,否則將執行無限循環。相當于b是給定的不為-1的值,而在while循環中,b是一直在檢驗的,檢驗輸入流是否讀取到文件末端。
2019-07-03
最新回答 / 慕容6015769
//空文件夾可以打出來 private?void?print(File?dir){ ????if(dir==null){ ????????System.out.println(dir?+?"?is?null"); ????} ????if(!dir.isDirectory()){ ????????System.out.println(dir?+?"?not?is?directory"...
2019-05-19
最贊回答 / 1315020626
這個序列化意思是,當你序列化一個文件并且寫入的時候,在你寫入的數據文件中是有實現了序列化接口的那些類的信息。這樣你反序列化,他們都存在就不會重新創建了。但是如果你父類沒有序列化,子類序列化了,當你序列化寫的時候,父類是沒有被寫入的,當你反序列化讀取的時候,你讀取到了子類,但是沒有發現父類,此時就會去調用父類的構造方法了,此時就有輸出了
2019-05-12
最新回答 / 慕雪9554338
這是byte轉化integer時出現的問題(因為用的是integer的方法),因為byte在java中是有正負的整數,所以轉為integer是也是相應的整數,integer存儲大小為4個字節,而byte為一個字節,存在相應擴展,負數是補碼存儲,所以是前面添1,正數是原碼存儲所以添0,最后轉化為16進制數,前面的0省略,而1不能省略,所以通過&0xff取后八位有效位
2019-03-19
最新回答 / xiaoT丶果凍
因為你的類名和io下的類名一樣了,用的時候程序不知道用的是哪個類,要加上java.io來告訴程序是java.io包下的RandomAccessFile類
2019-03-18