java.lang.String
がfinal
行われている理由私は思ったんだけど?それが継承されるのを防ぐのですか?どうして?
答えて
ありがとうございます。これにより、セキュリティマネージャとクラスローダーのコードは、悪意のあるサブクラスを実際に処理していることを心配することなくString型で作業できるようになります。
文字列クラスを拡張しないでください。文字列を操作する他のクラスに独自のメソッドを書くだけです。
理由は、文字列クラスは、他のトランザクションで不明な副作用を持つメソッドを再定義する可能性があるため、改ざんすべきではありません。
質問は「理由」ではないと思います。何が... – StaxMan
@StaxManあなたの権利...私はちょうどいいえより少しを追加しました。 – Bnjmn
それが理由であれば、クラス全体ではなく、オーバーライドされないようにするfinalメソッドだけを宣言することができます。どう思いますか? – Rendicahya
既に言及されたセキュリティの面を除いて、私はパフォーマンスがもう一つの重要な理由であったと考えています。古いJVMの場合、特に最終クラス(すべてのメソッドが最終的に定義されている)では、オンザフライでコードをインライン化するほうがはるかに簡単でした。 Stringは、最も頻繁に使用されるオブジェクトの1つで、多くのアプリケーションの全体的なパフォーマンスに影響します。これは、改善が全体的な効果を大きくする領域と見なされました。
- 1. ローカル変数はなぜ最終的なのですか?
- 2. 最終的なキーワードは何ですか?
- 3. Java enumを最終的に使用できないのはなぜですか?
- 4. なぜjavaslang CharSeqが最終ですか?
- 5. なぜこれは最終的に実行されないのですか?
- 6. 最終的なコレクションがまだ更新されるのはなぜですか?
- 7. なぜ "string" - "string" NaNですか?
- 8. 間違ったラジオ値は、最終的に示す..なぜ
- 9. クラスを最終的にスピードアップさせるのはなぜですか?
- 10. このクラスはなぜ最終的なものと考えられますか?
- 11. なぜ最終的な変数は定数ではありませんJava?
- 12. 最終的なStringをJavaで定義するのは意味がありますか?
- 13. なぜC++ 11はオーバーライドされ、最終的な属性ではないのですか?
- 14. なぜ私は静的な最終変数を非静的なブロックで宣言していませんか?
- 15. なぜ「ラムダ式で使用される変数は最終的に有効であるか、最終的には最終的なものでなければならない」という警告がインスタンス変数では無視される
- 16. 最終的なクラスはすべて不変ですか?
- 17. 最終的な静的な文字列は、静的な最終的な文字列より効率的ですか?
- 18. バイトパケットの増加によって、tracerouteは最終的な宛先をマッピングしないのはなぜですか?
- 19. この静的な最終変数は、単一スレッドセーフではなぜですか?このサイトを読ん
- 20. 最終的にこのような状況で実行されないのはなぜですか?
- 21. 最終的なArrayListの意味は何ですか?
- 22. ANTLRは最終的なパーサークラスを生成できますか?
- 23. 最終的な変数
- 24. Xcodeシンボルアイコン...最終的なリスト?
- 25. SIFTの最終的なディスクリプタ
- 26. なぜCocoaPodはすべてのフレームワークを最終的なiOSアプリケーション製品にコピーするのですか?
- 27. CDI Beanは、最終的な方法
- 28. std :: string :: operator +()でMyclass :: operator string()を明示的に呼び出す必要があるのはなぜですか?
- 29. ビデオバーが最後まで終わらないのはなぜですか?
- 30. なぜラッパークラス、文字列、...最終ですか?
[なぜJavaで文字列が終わるのですか?](http://stackoverflow.com/questions/2068804/why-is-string-final-in-java) –