Articles of opcional

Por que o findFirst () lança um NullPointerException se o primeiro elemento encontrado for nulo?

Por que isso lança um java.lang.NullPointerException ? List strings = new ArrayList(); strings.add(null); strings.add(“test”); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse(“StringWhenListIsEmpty”); //.orElse(null); // Changing the `orElse()` to avoid ambiguity O primeiro item em strings é null , o que é um valor perfeitamente aceitável. Além disso, findFirst() retorna um Opcional , o […]

Opção de downcasting no Swift: como? Digite ou como! Tipo?

Dada a seguinte no Swift: var optionalString: String? let dict = NSDictionary() Qual é a diferença prática entre as duas declarações a seguir: optionalString = dict.objectForKey(“SomeKey”) as? String vs optionalString = dict.objectForKey(“SomeKey”) as! String?

Opcional orElse Opcional em Java

Eu tenho trabalhado com o novo tipo Optional no Java 8 , e eu me deparei com o que parece ser uma operação comum que não é suportada funcionalmente: um “orElseOptional” Considere o seguinte padrão: Optional resultFromServiceA = serviceA(args); if (resultFromServiceA.isPresent) return result; else { Optional resultFromServiceB = serviceB(args); if (resultFromServiceB.isPresent) return resultFromServiceB; else return […]

Por que java.util.Optional não é Serializable, como serializar o object com tais campos

A class Enum é Serializable, portanto, não há problema em serializar o object com enums. O outro caso é onde a class possui campos da class java.util.Opcional. Nesse caso, a seguinte exceção é lançada: java.io.NotSerializableException: java.util.Optional Como lidar com essas classs, como serializá-las? É possível enviar esses objects para o EJB remoto ou por meio […]

Por que o Opcional do Java 8 não deve ser usado em argumentos

Eu li em muitos sites da Web Opcional deve ser usado apenas como um tipo de retorno e não é usado em argumentos de método. Estou lutando para encontrar uma razão lógica. Por exemplo, eu tenho um pedaço de lógica que tem dois parâmetros opcionais. Portanto, acho que faria sentido escrever minha assinatura de método […]

Os getters do Java 8 devem retornar o tipo opcional?

Optional tipo Optional introduzido no Java 8 é uma novidade para muitos desenvolvedores. Um método getter está retornando o tipo Optional no lugar do Foo clássico como uma boa prática? Suponha que o valor possa ser null .

Por que criar “Opcionalmente Opcionais sem invólucro”, já que isso implica que você sabe que há um valor?

Por que você criaria uma “opcional implícita não envolvida” ao criar apenas uma variável ou constante regular? Se você sabe que pode ser desembrulhado com sucesso, então por que criar um opcional em primeiro lugar? Por exemplo, por que isso é: let someString: String! = “this is the string” vai ser mais útil que: let […]

Usos para Opcional

Tendo usado o Java 8 agora por mais de 6 meses, estou muito feliz com as novas alterações da API. Uma área em que ainda não estou confiante é quando usar o Optional . Eu pareço balançar entre querer usá-lo em todos os lugares algo pode ser null , e em nenhum lugar em tudo. […]

O que significa um ponto de exclamação na linguagem Swift?

O guia Swift Programming Language tem o seguinte exemplo: 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 { println(“Apartment #\(number) is being […]

O que significa “erro fatal: inesperadamente encontrado nulo ao desembrulhar um valor opcional”?

Meu programa Swift está falhando com EXC_BAD_INSTRUCTION e esse erro. O que significa e como faço para corrigir isso? erro fatal: inesperadamente encontrado nulo ao desembrulhar um valor opcional Esta postagem destina-se a coletar respostas para problemas “inesperadamente encontrados nulos”, para que eles não sejam dispersos e difíceis de encontrar. Sinta-se à vontade para adicionar […]