Sobes.tech
Intern

Javaда жол эмне?

sobes.tech AI

AIден жооп

Javaда жол — бул белгилердин тизмеги. Ал String классы менен көрсөтүлөт.

Негизги өзгөчөлүктөрү:

  • Өзгөрбөөчүлүк (Immutable): String объектисин түзгөндөн кийин, анын мазмуну өзгөртүлбөйт. Ар кандай операция, ал тургай жолду өзгөртүп жаткандай көрүнсө да (мисалы, кошуу), чындыгында жаңы String объектисин түзөт.
  • String Pool: Java String Pool (жолдор бассейни) колдонуп, жол литерлерин эффективдүү башкаруу үчүн. Жол литер түзүлгөндө (мисалы, "салам"), JVM алгач аны бассейндеги издейт. Эгер ал мурда бар болсо, анын шилтемесин кайтарат. Эч болсо, жаңы объект бассейндеги түзүлүп, анын шилтемеси кайтарылат.
  • Түзүү:
    • Литерл колдонуу менен: String s1 = "салам"; (String Pool колдонулат).
    • new оператору менен: String s2 = new String("дүйнө"); (жаңы объект кучада түзүлөт, эгер "дүйнө" мурда бассейндеги болсо да).
  • Салыштыруу: Жолдордун мазмунун салыштырганда, equals() методу колдонулушу керек, == оператору эмес. == оператору объекттердин шилтемелерин салыштырат.

Мисал:

// Литерл колдонуп жол түзүү (бассейндеги)
String s1 = "Java";

// `new` колдонуп жол түзүү (жаңы объект)
String s2 = new String("Java");

// Мазмунун салыштыруу ( туура)
boolean мазмунуТең = s1.equals(s2); // true

// Шилтемелерин салыштыруу ( туура эмес мазмун үчүн)
boolean шилтемелерТең = (s1 == s2); // false

System.out.println("Мазмуну бирдей: " + мазмунуТең);
System.out.println("Шилтемелер бирдей: " + шилтемелерТең);