Intern
Javaда жол эмне?
sobes.tech AI
AIден жооп
Javaда жол — бул белгилердин тизмеги. Ал String классы менен көрсөтүлөт.
Негизги өзгөчөлүктөрү:
- Өзгөрбөөчүлүк (Immutable):
Stringобъектисин түзгөндөн кийин, анын мазмуну өзгөртүлбөйт. Ар кандай операция, ал тургай жолду өзгөртүп жаткандай көрүнсө да (мисалы, кошуу), чындыгында жаңыStringобъектисин түзөт. String Pool: JavaString 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("Шилтемелер бирдей: " + шилтемелерТең);