我將處理文本,並且會沿着一條線分割,其正則表達式的子字符串像String.split()一樣。我正在尋找這些StringBuilder這些速度問題。分割一個StringBuilder值而不使用String.split()
從我所知,StringBuilder沒有這樣的方法。我所能做的就是調用String.split()並將結果轉換爲StringBuilder []。然而,這將會很慢 - String.split()實習生的每一個String []條目。
另外 - StringBuilder不是覆蓋Object.equals()。當我需要使用StringBuilder作爲集合中的類型時, 我正在編寫一個包裝類,該值包含StringBuilder值字段並且重寫equals()以使該字段的值正確。
這些是迄今爲止的2我記得我需要和那短暫。
我的Q是:
我在這裏失去了一些東西 - 有沒有辦法讓StringBuilder這些功能,而無需在字符串之間慢下來?
如果不是 - 爲什麼不呢? StringBuilder的主要原因是以內存爲代價的執行時間 - 作爲字符串高效緩存內存的替代方法(?) 而StringBuilder是一種文本類型。爲什麼不直接 - split()for one?
TIA。
這將=通過實習,看起來不錯。當reg.expression僅爲1個字符時,String.split()的實現更快。任何想法爲什麼StringBuilder是「苗條」的這些,一個等於()爲一個服務的目的? – Roam
你能改述「爲什麼..」嗎? –
one wd期望StringBuilder重寫equals()。閱讀我的使用StringBuilder作爲集合中條目的類型。 StringBuilder最有可能對其文本條目的值有用。但是,equals()是「判斷」其內存引用上的實例 - 而不是文本值。這就像java.lang.Integer不重寫equals--幸運的是不是這種情況。 – Roam