2016-09-26 30 views
-3

私は最近、Javaをはじめて使用し始めました(以前は主にC、C++、またはアセンブリを使用していました)。 Java文字と文字列は、文字や文字列の少なくとも2倍のスペースを占めることがわかっています。しかし、なぜ部分文字列が悪いですか?できるだけ集中的なプラットフォームを処理することを避けるために多くの人からアドバイスを受けましたが、文字列は非常に処理集中的なWebサービスで使用されています。なぜ多くの人がこの意見を持っているのか不思議です。Javaサブ文字列が悪いのはなぜですか?

+0

Java文字と文字列は、文字または文字列と同じだけのスペースを占有します。部分文字列には何も問題はありません。我々は、誰にもわからない心配を落ち着かせるためのビジネスではなく、最初にこれらの心配が何であるかを推測しなければならない。あなたの心配を裏付け、それから私たちはそれらを撃つのを悩ますかもしれません。 –

+3

あなたのアドバイザーに相談してみませんか? –

+0

charが1バイトで格納されていても、CharはJavaで2バイトを占めます。 –

答えて

4

これは以前に実装された方法substring()に関連している可能性があります。以前のJavaバージョンでは、Stringの長さでsubstring()を呼び出すと、元のStringがメモリ内に保持されます(内部はchar[])。元の文字列が不必要にメモリ内に保存されていると、メモリの問題が発生する可能性があります。

Java 8では、これはもはやケースではありません(内部はchar[]がコピーされています)。また、サブフリートを長くてもStringsにすることができます。

関連する問題