我想知道InputSource有什么用處?換句話說,有什么情況下InputSource不能被StreamSource取代?換句話說,為什么這兩個類會存在于 JDK 中?
AFAICS。這兩個類都位于java.xml模塊中,它們的API幾乎是相同的,唯一的區別是InputSource有一個 "編碼 "引數;并且StreamSource是一個層次結構的一部分(因為它實作了Source),這使得它在某些情況下更容易使用(你可以決定接受一個Source,如果在設計你的API時這足以滿足你的目的)。此外,它們都是在 Java 1.4 中引入的。
正如這里所指出的,這些類被用于 JDK API 的不同部分:"決議器可以從輸入源獲取輸入,但不能從流源獲取。Transformer可以從StreamSource中獲取輸入,但不能從InputSource中獲取"。但這并不能解釋為什么 JDK API 的設計者決定為表示一個源的目的而引入兩個明顯多余的類。因此,我的問題是:
。(略微有點關系。InputSource 和 InputStream 之間的區別。)
uj5u.com熱心網友回復:
當你不是設計者之一,也無法獲得他們的會議記錄時,總是很難回答 "為什么 X 的設計者決定這樣做 "這樣的問題,但在這種情況下,有一個簡單的答案:他們決定采用由第三方設計的現有 API,并 "按原樣 "采用它們,而不是試圖整合它們并消除冗余。
當然,這也無濟于事,因為 Java 介面是(或直到最近才是)石破天驚的:一旦發布,就不能以任何方式改變或擴展,否則就會造成不兼容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/307711.html
標籤:
上一篇:根據匹配的符號來復制檔案
