0

今日、Java で文字列が null 文字で終了することを読みました。しかし、文字列の長さは文字列クラスの長さ変数によって既に維持されているため、なぜそれが必要なのですか? だから、私にとってはちょっと奇妙なことです。誰かが私にそれを明確にしてください。

ありがとう

4

4 に答える 4

13

Java 文字列は null で終了しません。それらは の長さで終わりlengthます。Java 文字列の最後の文字を作成できますが\0、それによって文字列が自動的に終了するわけではありません。の長さは12<\0>45、C のように 2 ではなく 5 のままです。

于 2013-07-11T13:53:43.977 に答える
-4

多くのライブラリと API は null で終了する文字列を想定しているため、長さフィールドを持ち、文字列を null で終了するというこの戦術がよく使用されます。

つまり、長さを別々に保つことでパフォーマンスが向上し、文字列のコピーを作成することなく、文字列を API に直接渡すことができます。要するに、バイトの費用だけで 2 つの世界のベストです。

于 2013-07-11T13:54:16.463 に答える