Java の String.intern() 関数を使用して、文字列定数プールに文字列を追加します。
Java の文字列処理では、文字列の比較と文字列の結合で問題が発生することがよくあります。これは、特に大規模な文字列を扱う場合に発生します。文字列の数。プログラムのパフォーマンスを向上させ、メモリ領域を節約するために、Java では文字列定数プールに文字列を追加するメソッド、つまり String.intern() 関数を使用します。
Java の文字列定数プールは、頻繁に使用される文字列オブジェクトを再利用のために保存するために使用される特別なメモリ領域です。 Java では通常、二重引用符を使用して文字列オブジェクト (例: "Hello") を直接作成します。この方法で作成された文字列オブジェクトは、文字列定数プールに自動的に追加されます。 String.intern() 関数を使用して、文字列オブジェクトを文字列定数プールに手動で追加できます。
次のコード例は、String.intern() 関数を使用して文字列を文字列定数プールに追加する方法を示しています。
public class StringInternExample { public static void main(String[] args) { String str1 = "Hello"; String str2 = new String("Hello"); String str3 = new String("Hello").intern(); String str4 = new StringBuilder("Hel").append("lo").toString(); String str5 = new StringBuilder("Ja").append("va").toString().intern(); System.out.println("str1 == str2: " + (str1 == str2)); // false System.out.println("str1 == str3: " + (str1 == str3)); // true System.out.println("str1 == str4: " + (str1 == str4)); // false System.out.println("str1 == str5: " + (str1 == str5)); // true } }
上の例では、5 つの文字列オブジェクトを作成しました。二重引用符を使用して str1 によって作成された文字列は自動的に文字列定数プールに追加され、一方、new キーワードを使用して str2 によって作成された文字は自動的に追加されます。文字列定数プールへの文字列は、ヒープ内に新しいオブジェクトを作成します。 String.intern() 関数を使用して、str3 を文字列定数プールに手動で追加し、str1 と同じオブジェクトを参照するようにします。 str4 は StringBuilder によって結合された文字列で、str1 で参照されるオブジェクトとは別の新しいオブジェクトがヒープに作成されます。最後に、String.intern() 関数を使用して、str5 を文字列定数プールに追加し、str1 と同じオブジェクトを参照します。
プログラムを実行すると、次の出力結果が得られます。
str1 == str2: false str1 == str3: true str1 == str4: false str1 == str5: true
出力結果からわかるように、String.intern() 関数を使用して文字列を文字列に追加した後、定数プールを使用すると、文字列の参照値を比較することで、2 つの文字列が等しいかどうかを判断できます。文字列定数プール内の文字列オブジェクトは一意であるため、参照判定により文字内容を 1 つずつ比較する必要がなくなり、プログラムのパフォーマンスが向上します。
String.intern() 関数を使用して文字列定数プールに文字列を追加した後、まず定数プール内に同じ内容の文字列があるかどうかを検索し、存在する場合は注意する必要があります。定数プールにオブジェクトがない場合は、定数プールに新しいオブジェクトを作成します。したがって、String.intern() 関数を使用するときはメモリの使用量に注意し、文字列定数プールに大量の文字列オブジェクトを頻繁に追加しないようにする必要があります。
つまり、Java の String.intern() 関数を使用して文字列定数プールに文字列を追加し、文字列オブジェクトを再利用することで、プログラムのパフォーマンスを向上させ、メモリ領域を節約できます。実際の開発では、特定のシナリオに応じて String.intern() 関数を柔軟に使用することで、プログラムの最適化の効果を得ることができます。
以上がJavaのString.intern()関数を使用して、文字列を文字列定数プールに追加します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
