English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليميات Java الأساسية

Java Control Flow

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثناء Java

Java List

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Input/Output (I/O)

Java Reader/Writer

مواضيع أخرى Java

استخدام طريقة Java String intern() مع أمثلة

طرق Java String (النص)

يرجع طريقة Java String intern() تمثيل العبارة القياسي للعبارة المعدة.

جملة syntax لطريقة intern() للعبارة

string.intern()

في هذا السياق، string هو عمود String من هذا الفئة.

معلمات intern()

  • بدون أي معلمات

قيمة عودة intern()

  • إرجاع تمثيل العبارة القياسي

ما هو Java String Interning؟

تأكد من أن جميع العبارات التي تحتوي على نفس المحتوى تستخدم نفس الذاكرة.

لنفترض أن لدينا عبارتين:

String str1 = "xyz";
String str2 = "xyz";

بما أن كلا str1 و str2 يحتويان على نفس المحتوى، فإن هاتين العبارتين ستشاركان نفس الذاكرة. ي插入 Java تلقائيًا العبارات النصية.

لكن، إذا تم إنشاء هذه العبارات باستخدام كلمة المفتاح new، فإنها لن تشارك نفس الذاكرة. على سبيل المثال،

class Main {
  public static void main(String[] args) {
    String str1 = new String("xyz");
    String str2 = new String("xyz");
    System.out.println(str1 == str2); // false
  {}
{}

من هذا المثال يمكن ملاحظة أن كلا str1 و str2 يحتويان على نفس المحتوى. ولكن، ليست متساوية لأنها لا تشارك نفس الذاكرة.

في هذه الحالة، يمكنك استخدام طريقة intern() يدويًا لاستخدام نفس الذاكرة للعبارات التي تحتوي على نفس المحتوى.

مثال: Java String intern()

class Main {
  public static void main(String[] args) {
    String str1 = new String("xyz");
    String str2 = new String("xyz");
    // str1 وstr2 لا يشتركان في نفس حيز الذاكرة
    System.out.println(str1 == str2); // false
    // باستخدام طريقة intern()
    // الآن، str1 وstr2 يشتركان في نفس حيز الذاكرة
    str1 = str1.intern();
    str2 = str2.intern();
    System.out.println(str1 == str2); // true
  {}
{}

كما ترونه، يحتوي str1 وstr2 على نفس المحتوى، لكنهما ليسا متساويين في البداية.

ثم، نستخدم طريقة intern() لجعل str1 وstr2 يستخدمان نفس حيز الذاكرة. بعد استخدام intern()، يصبح str1 وstr2 متساويين.

طرق Java String (النص)