2015-11-10 6 views
8

サブストリングのメソッドwas lightning fastまでは、単に既存のストリング内のポインターを使用しただけなので、jdk7u6までです。私はその機能をパーザーの実装に広範囲に使用しました。サブストリングの変更されたjdk6からjdk7への対処方法

重要なパフォーマンス機能が削除されてからの時間が長い場合、十分に注油された交換品が必要です。

注:理論的には、jdk6から実装をコピーしてコピーすることができます。しかし、IIRCは、Stringクラス全体で非常に重く包まれました。つまり、簡単には抽出できませんでした。

このような実装は、高性能なjvmパーサライブラリの1つなどにありますか?

+0

私はちょうど私たちが文字列のどこにあるかを記録する外部インデックスを保持しています。 – ZhongYu

+0

@ bayou.ioこれは、たとえば、別の方法で部分文字列を抽出して使用する必要性を解決しません。 – javadba

+0

そのメソッドへのインデックスも渡します:D ...すべての '(String)'を '(String、int、int)'に置き換えます。 (あなたが他の人の方法でそれを行うことができない限り)それはもちろん吸います... – ZhongYu

答えて

5

CharSequenceインターフェイスを実装するCharBufferで必要なことを行うことができます。特に、CharBuffer.subSequenceを参照してください。

+0

それについてのimplを見てください.. CharBufferはそれらのnio人の1人です。長い時間の後に彼らはインスタンス化するかなり重量だった(それが変更されていたかどうかは不明)。あなたがそれを持っていれば、彼らは要件を満たすだろう。だから私はupvoteしますが、潜在的に軽量代替が存在するかどうかを確認するためにもう少し待ってください。 – javadba

関連する問題