Sobes.tech
Junior — Middle

Чӣ гуна мо синфи Optional-ро аз китобхонаи стандартӣ барои кор бо арзишҳои эҳтимолан нопадид истифода мебарем?

sobes.tech AI

Ҷавоб аз AI

Класи Optional истифода мешавад барои кор бо арзишҳои эҳтимолан нопадид, то хатогиҳои вобаста ба null (масалан, NullPointerException) пешгирӣ карда шаванд. Он арзишро, ки метавонад ҳузур дошта бошад ё надошта бошад, мепӯшад ва усулҳоро барои дастрасӣ ва коркарди бехатартар пешниҳод мекунад.

Усулҳои асосии Optional:

  • of(value) — эҷод кардани Optional бо арзиши нолӣ.
  • empty() — эҷод кардани Optional холӣ.
  • isPresent() — санҷидани ҳузури арзиш.
  • orElse(defaultValue) — баргардондани арзиш агар ҳузур дошта бошад, ё арзиши пешфарз.
  • map(function) — татбиқ кардани функсия ба арзиш агар ҳузур дошта бошад.

Масалан дар Java:

Optional<String> optionalName = Optional.ofNullable(getName());

String name = optionalName.orElse("Номуайян");

optionalName.ifPresent(n -> System.out.println("Ном: " + n));

Ин рӯҳия кӯмак мекунад, ки кодро боэътимод ва тоза нависем, бе ниёз ба санҷишҳои ошкоро барои null.