Sobes.tech
Junior — Middle

Ինչպե՞ս են տարբերում համեմատական օպերատորներն ու Is օպերատորը Java լեզվում։

sobes.tech AI

Պատասխան AI-ից

Java-да Is оператору ҳамчун ҷудогонаи оператори муқоиса вуҷуд надорад. Шояд, савол ба оператори instanceof ва операторҳои муқоиса дахл дорад.

Асосӣ операторҳои муқоиса дар Java:

  • == — санҷиш мекунад, ки арзишҳои primitives баробар ҳастанд ё ду тағйирёбанда ба як объект ишора мекунанд.
  • .equals() — усул барои санҷиши баробарии мантиқии объектҳо (мумкин аст, ки навиштани онро иваз кардан мумкин аст).

Оператор instanceof барои санҷидани он ки оё объект намунаи класи муайян ё интерфейси муайян аст, истифода мешавад:

if (obj instanceof String) {
    // obj як сатр ё фарзанди String аст
}

Хулоса:

  • Операторҳои муқоиса (==, .equals()) арзишҳо ё объектҳоро муқоиса мекунанд.
  • instanceof намуди объектро санҷида мебарояд.

Масалан:

String a = "test";
String b = new String("test");

System.out.println(a == b); // бардурӯғ, объектҳои гуногун
System.out.println(a.equals(b)); // рост, мундариҷа якхела

Object obj = a;
System.out.println(obj instanceof String); // рост

Агар савол ба забони дигар ё контексти дигар дахл дошта бошад, лутфан, равшантар кунед.