Pytania otagowane jako optional

Niezmienny typ, który może zawierać wartość lub odwołanie. Każda instancja tego typu albo zawiera niezerową wartość lub odwołanie, albo nic nie zawiera (w takim przypadku mówimy, że odwołanie jest „nieobecne”; nigdy nie mówi się, że „zawiera wartość null”).

22
Co oznacza wykrzyknik w języku Swift?
Przewodnik po języku programowania Swift zawiera następujący przykład: class Person { let name: String init(name: String) { self.name = name } var apartment: Apartment? deinit { println("\(name) is being deinitialized") } } class Apartment { let number: Int init(number: Int) { self.number = number } var tenant: Person? deinit { …

10
Po co tworzyć „niejawnie nieopakowane opcje”, ponieważ oznacza to, że wiesz, że istnieje wartość?
Dlaczego miałbyś stworzyć „niejawnie nieopakowaną opcję” zamiast tworzyć zwykłą zmienną lub stałą? Jeśli wiesz, że można go pomyślnie rozpakować, to po co w ogóle tworzyć opcjonalne? Na przykład dlaczego: let someString: String! = "this is the string" będą bardziej przydatne niż: let someString: String = "this is the string" Jeśli …

18
Dlaczego opcja Opcjonalna Java 8 nie powinna być używana w argumentach
Przeczytałem na wielu stronach internetowych Opcjonalne powinny być używane tylko jako typ zwracany, a nie używane w argumentach metod. Próbuję znaleźć logiczny powód. Na przykład mam logikę, która ma 2 opcjonalne parametry. Dlatego myślę, że sensowne byłoby napisanie mojej sygnatury metody w ten sposób (rozwiązanie 1): public int calculateSomething(Optional<String> p1, …
392 java  java-8  optional 


11
Funkcjonalny styl Java 8's Optional.ifPresent i if-not-Present?
W Javie 8 chcę zrobić coś z Optionalobiektem, jeśli jest obecny, i zrobić coś innego, jeśli go nie ma. if (opt.isPresent()) { System.out.println("found"); } else { System.out.println("Not found"); } Nie jest to jednak „funkcjonalny styl”. Optionalma ifPresent()metodę, ale nie mogę połączyć orElse()metody. Dlatego nie mogę napisać: opt.ifPresent( x -> System.out.println("found …

13
Zastosowania opcjonalne
Korzystam z Java 8 już od ponad 6 miesięcy, jestem całkiem zadowolony z nowych zmian API. Jednym z obszarów, w którym wciąż nie jestem pewny, jest czas użycia Optional. Wydaje mi się, że waham się między chęcią używania go wszędzie, gdzie coś może być null, i nigdzie. Wydaje się, że …
271 java  java-8  optional 

13
Jaka jest opcjonalna wartość w Swift?
Z dokumentacji Apple : Możesz używać ifi letrazem do pracy z wartościami, których może brakować. Wartości te są przedstawiane jako opcje. Opcjonalna wartość zawiera wartość lub zawiera, nilaby wskazać brak wartości. Napisz znak zapytania (? ) po typie wartości, aby oznaczyć wartość jako opcjonalną. Dlaczego chcesz użyć wartości opcjonalnej?
267 swift  optional 

4
Dlaczego warto korzystać z Optional.of zamiast Optional.ofNullable?
Podczas korzystania z Optionalklasy Java 8 istnieją dwa sposoby zawijania wartości w opcjonalne. String foobar = <value or null>; Optional.of(foobar); // May throw NullPointerException Optional.ofNullable(foobar); // Safe from NullPointerException Rozumiem, że Optional.ofNullableto jedyny bezpieczny sposób korzystania Optional, ale dlaczego w ogóle Optional.ofistnieje? Dlaczego po prostu nie korzystać Optional.ofNullable i być …

8
Różnica między `Optional.orElse ()` i `Optional.orElseGet ()`
Próbuję zrozumieć różnicę między metodami Optional<T>.orElse()a Optional<T>.orElseGet(). Opis orElse()metody to „Zwróć wartość, jeśli jest obecna, w przeciwnym razie zwróć inną”. Chociaż opis orElseGet()metody brzmi „Zwróć wartość, jeśli jest obecna, w przeciwnym razie wywołaj inną i zwróć wynik tego wywołania”. orElseGet()Metoda zajmuje interfejs funkcjonalny dostawca, który zasadniczo nie bierze żadnych parametrów …
206 java  java-8  optional 

5
Swift opcjonalny uciekający parametr zamknięcia
Dany: typealias Action = () -> () var action: Action = { } func doStuff(stuff: String, completion: @escaping Action) { print(stuff) action = completion completion() } func doStuffAgain() { print("again") action() } doStuff(stuff: "do stuff") { print("swift 3!") } doStuffAgain() Czy istnieje sposób, aby completionparametr (i action) był typem, Action?a …


3
Używanie wielu let-as w instrukcji if w języku Swift
Rozpakowuję dwie wartości ze słownika i przed ich użyciem muszę je rzutować i przetestować pod kątem odpowiedniego typu. Oto, co wymyśliłem: var latitude : AnyObject! = imageDictionary["latitude"] var longitude : AnyObject! = imageDictionary["longitude"] if let latitudeDouble = latitude as? Double { if let longitudeDouble = longitude as? Double { // …

4
Podanie wartości domyślnej opcjonalnego w języku Swift?
Idiom do radzenia sobie z opcjami w Swift wydaje się nadmiernie rozwlekły, jeśli wszystko, co chcesz zrobić, to podać wartość domyślną w przypadku, gdy jest zerowa: if let value = optionalValue { // do something with 'value' } else { // do the same thing with your default value } …
141 swift  optional 


6
Opcjonalne lubElse Opcjonalne w Javie
Pracowałem z nowym typem opcjonalnym w Javie 8 i natknąłem się na coś, co wygląda na typową operację, która nie jest obsługiwana funkcjonalnie: „orElseOptional” Rozważ następujący wzór: Optional<Result> resultFromServiceA = serviceA(args); if (resultFromServiceA.isPresent) return result; else { Optional<Result> resultFromServiceB = serviceB(args); if (resultFromServiceB.isPresent) return resultFromServiceB; else return serviceC(args); } Istnieje …
137 java  lambda  java-8  optional  java-9 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.