看看StringRead的內部

先來看看這個類都和哪些類和接口有關係,看到StringReader主要是繼承了抽象類Reader,咱們知道Writer和Reader類是設計來處理基於字符串的輸入和輸出的,以下圖併發

該類有4個變量屬性,一個字符串和其相應的特性長度,next,mark。函數

該方法就一個構造函數,幹了什麼,一眼也明白了設計

這個方法就用來判斷str字符串是否爲空對象

而後再看看read方法,這裏加了一個鎖,lock其實在Reader裏面就是當前對象自己,而後next會遞增,blog

而後看看skip方法,這裏會先判斷若是next已經不小於length,就返回0,這裏還會ns和字符串可移動長度比較,只是後面的是考慮負數的狀況,退回的長度不能超過next,而後返回實際移動的距離。繼承

ready方法就是看str數據是否已經不爲空接口

還有close方法也很好理解,到這想一想那些方法裏的 ensureOpen仍是有用的,畢竟併發清狀況下執行了,沒有這個方法就會錯亂啦。ip

而後寫一個demo字符串

相關文章
相關標籤/搜索