74-bob: To'plamlarni tanlash
Download 342.92 Kb. Pdf ko'rish
|
dasturlash maruza orginali (2)
- Bu sahifa navigatsiya:
- 75.8-bolim: Xarita
67-bob: Majburiy emas
Majburiy emas konteyner ob'ekti bo'lib, unda null bo'lmagan qiymat bo'lishi mumkin yoki bo'lmasligi mumkin. Agar qiymat mavjud bo'lsa, isPresent() qiladi true qiymatini qaytaring va get() qiymatini qaytaradi. O'z ichiga olgan qiymatning mavjudligiga bog'liq bo'lgan qo'shimcha usullar taqdim etiladi, masalan, orElse(), qaysi qiymat mavjud bo'lmasa, standart qiymatni qaytaradi va agar qiymat mavjud bo'lsa, kod blokini bajaradigan ifPresent(). 75.8-bo'lim: Xarita Null bo'lishi mumkin bo'lgan qiymatlar bilan aniq null tekshiruvlarini o'tkazmasdan ishlash uchun ixtiyoriyning map() usulidan foydalaning: (E'tibor bering, map() va filter() operatsiyalari Stream hamkasblaridan farqli ravishda darhol baholanadi. faqat terminal operatsiyasi bo'yicha baholanadi.) Sintaksis: public Optional map(Function mapper) Optional.map() xaritalash funktsiyasi null qiymatini qaytarganda bo'sh ixtiyoriyni qaytarganligi sababli, siz bir nechta zanjirlarni bog'lashingiz mumkin. map() operatsiyalari null-xavfsiz havolani bekor qilish shakli sifatida. Bu null-xavfsiz zanjir deb ham ataladi. Quyidagi misolni ko'rib chiqing: String value = foo.getBar().getBaz().toString(); getBar, getBaz va toString dan har qanday potentsial NullPointerExceptionni tashlashi mumkin. Bu yerda ixtiyoriy yordamida toString() dan qiymat olishning muqobil usuli String value = Optional.ofNullable(foo) .map(Foo::getBar) .map(Bar::getBaz) .map(Baz::toString) .orElse(""); Agar xaritalash funksiyalaridan biri null bo'lsa, bu bo'sh qatorni qaytaradi. Quyida yana bir misol, lekin biroz boshqacha. Agar xaritalash funksiyalaridan hech biri ishlamasagina qiymatni chop etadi null qaytarildi . Optional.ofNullable(foo) .map(Foo::getBar) .map(Bar::getBaz.map(Baz::toString) .ifPresent(System.out::println); |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling