StringTokenizer
クラスとjava.util.Scanner
クラスの違いについて質問がありますか?両方とも解剖(トークン化)目的で使用されますが。どれが使いやすく効率が良いですか?これらの2つのJavaクラスは、お互いの選択肢か別々の目的を持っていますか? JavaDoc
からStringTokenizerとjava.util.Scannerクラスの違いは
答えて
:
StringTokenizerはは、その使用は新しいコードに落胆しているが、互換性 の理由のために保持されているレガシークラスです。 この機能を求める人は、代わりに
split
メソッドのString またはjava.util.regex
パッケージを使用することをお勧めします。
大きな違いの1つは、Scannerは入力ストリームで操作できるため、一度にメモリに格納する必要はありません(場合によっては、ユーザー入力をコンソール)。
StringTokenizerはJavadocのから
、および引用符で囲まれた文字列...
原始的な標準を解析することができます単純なテキストスキャナスキャナのjavadocから
正規表現を使用して、文字列と文字列を返します。 あなたは数字をcontainigユーザー入力を解析する必要がある場合、スキャナは、いくつかのケースでは便利ですが
だから、StringTokenizerはとは異なり、スキャナはnextIntのようなメソッドを持って、nextBooleanなど は、StringTokenizerは、ほとんどの場合にorg.apache.commonsと交換することができます。 lang.StringUtils.split - 正規表現を使用せず、かなり高速です。
スキャナは、文字列を解析してさまざまな種類のデータを取り出す必要がある場合に使用します。ファイルのようなソースから、またはユーザからテキストデータを解析する場合は、スキャナが便利です。
StringTokenizerは常に存在していました。それは最も速いですが、列挙型のイディオムは他のイディオムほど優雅に見えないかもしれません。
JDK 1.4ではスプリットが発生しました。トークナイザよりも遅いが、使い易い。なぜなら、それはStringクラスから呼び出すことができるからである。
- 1. ここStringTokenizerは
- 2. StringTokenizerはNoSuchElements
- 3. enumクラスとenumクラスの違いは?
- 4. BrowseFragmentクラスとBrowseSupportFragmentクラスの違いは?
- 5. StringTokenizer "NoSuchelementException"
- 6. StringTokenizer、JSON、カンマの
- 7. C++本とクラス間のクラスの違い::
- 8. PHPのオブジェクトとクラスの違いは?
- 9. NG_VALIDATORSとバリデーター(クラス)の違い
- 10. クラスとパッケージの違い
- 11. クラスとタイプの違い
- 12. クラスとテストクラスの違い
- 13. Java BeanとJavaクラスの違いは?
- 14. DFD(データフロー図)とクラス図の違いは?
- 15. APIViewクラスとビューセットクラスの違いは?
- 16. エンティティBeanとEntityクラスの違いは?
- 17. クラスfoo、クラスfoo()とクラスfoo(オブジェクト)の違いは?
- 18. スレッド "main"の例外java.util.scanner
- 19. Java - 宣言クラスとクラスオブジェクトの違い(クラスとクラス)
- 20. LLVM:命令クラスまたは値クラスの "uses"と "user"の違い
- 21. .netのThreadクラスとProcessThreadクラスの違いは?
- 22. C#のPingクラスとWebClientクラスの違いは何ですか?
- 23. JavaのGregorianCalendarクラスとCalendarクラスの違いは?
- 24. C++クラス・ポインタとクラス・オブジェクトの間の違いは何ですか?
- 25. Apache TikaのMediaTypeクラスとMimeTypeクラスの違いは何ですか?
- 26. netty4のProtobufEncoderクラスとProtobufEncoderNanoクラスの違いは何ですか?
- 27. のJavaパフォーマンスの問題StringTokenizerは
- 28. 更新クラスと更新クラスの違いは何ですか
- 29. ConfigurationManagerクラスとSettingsクラスの違いは何ですか?
- 30. NetworkStreamクラスとSocketクラスの違いは何ですか?
私の回答で述べたように、String.splitは負荷の高いアプリケーションに関してはかなり遅いです。 StringUtils.splitは高速です。 – SirVaulterScoff
私はjava.util.regex.Patternクラスの分割メソッドは、2つよりも優れていると思う – sns
これは、StringUtils.splitより約10倍遅いです。 – SirVaulterScoff