optional相关内容

Java 8 中的链式可选项

正在寻找一种链接选项的方法,以便返回存在的第一个选项.如果不存在 Optional.empty() 应该返回. 假设我有几个这样的方法: 可选查找 1() 我正在尝试链接它们: 可选结果 = find1().orElse(this::find2).orElse(this::find3); 但这当然不起作用,因为 orElse 需要一个值,而 orElseGet 需要一个 Suppli ..
发布时间:2021-12-23 21:49:49 Java开发

Java 中的可选 orElse 可选

我一直在使用新的可选类型在 Java 8 中,我遇到了一个看似常见但功能上不受支持的操作:“orElseOptional" 考虑以下模式: 可选resultFromServiceA = serviceA(args);if (resultFromServiceA.isPresent) 返回结果;别的 {可选resultFromServiceB = serviceB(args);如果( ..
发布时间:2021-12-23 21:48:39 Java开发

为什么java.util.Optional不是Serializable,如何序列化带有此类字段的对象

Enum 类是可序列化的,所以用 enum 序列化对象是没有问题的.另一种情况是 class 具有 java.util.Optional 类的字段.在这种情况下,抛出以下异常:java.io.NotSerializableException: java.util.Optional 这样的类怎么处理,怎么序列化?是否可以将此类对象发送到远程 EJB 或通过 RMI? 示例如下: imp ..
发布时间:2021-12-21 21:54:44 Java开发

Java 可选 - If Else 语句

所以经过一些阅读后,我看到了 if (optional.isPresent()) {//做某事} 不是使用 Optional 的首选方式(http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html).但是如果我有这样的 if 语句: if (optional.isPresent()) {car = g ..
发布时间:2021-12-12 14:10:51 Java开发

在 Swift 的 if 语句中使用多个 let-as

我从字典中解开两个值,在使用它们之前,我必须对它们进行转换并测试正确的类型.这是我想出的: var latitude : AnyObject!= imageDictionary[“纬度"]变量经度:AnyObject!= imageDictionary[“经度"]如果让 latitudeDouble = 纬度为?双倍的 {如果让 longitudeDouble = 经度为?双倍的 {//在这里 ..
发布时间:2021-12-12 13:51:37 移动开发

如何在 Go 中表示可选字符串?

我希望对一个值进行建模,该值可以有两种可能的形式:不存在或字符串. 执行此操作的自然方法是使用 Maybe String、或 Optional、或 string option 等.但是,Go没有这样的变体类型. 然后我想,继 Java、C 等之后,替代方案是可空性,或者 Go 中的 nil.但是,nil 不是 Go 中 string 类型的成员. 搜索,然后我想到使用类型*str ..
发布时间:2021-12-11 23:12:12 其他开发

Swift 可选的转义闭包参数

给定: typealias Action = () ->()var 动作:动作 = { }func doStuff(stuff: String, completion: @escaping Action) {打印(东西)行动=完成完成()}func doStuffAgain() {打印(“再次")行动()}doStuff(东西:“做东西"){打印(“快速 3!")}doStuffAgain() ..
发布时间:2021-12-07 23:21:03 移动开发

带有“?"的 Swift 变量装饰(问号)和“!"(感叹号)

我知道在 Swift 中,所有变量都必须设置一个值,并且通过使用可选项,我们可以将一个变量设置为 nil 最初. 我不明白的是,使用 ! 设置变量在做什么,因为我的印象是这会从可选中“解开"一个值.我认为通过这样做,您可以保证在该变量中有一个要解包的值,这就是为什么在 IBActions 上看到它被使用的原因. 简单地说,当你做这样的事情时被初始化的变量是什么: var aShape ..
发布时间:2021-12-02 16:09:28 移动开发

斯威夫特:守卫让与如果让

我一直在阅读有关 Swift 中的 Optionals 的内容,并且我看到了一些示例,其中 if let 用于检查 Optional 是否包含一个值,如果确实如此 - 对解包的值执行一些操作. 然而,我已经看到在 Swift 2.0 中,关键字 guard let 被主要使用.我想知道 if let 是否已从 Swift 2.0 中删除,或者是否仍然可以使用. 我应该将包含 if le ..
发布时间:2021-12-02 15:43:54 移动开发

为什么要创建“隐式展开的选项",因为这意味着您知道有一个值?

为什么要创建“隐式解包可选"而不是仅创建常规变量或常量?如果您知道它可以成功解包,那么为什么首先要创建一个可选项?例如,这是为什么: let someString: String!= "这是字符串" 将比: let someString: String = "这是字符串" 如果“可选项表明常量或变量被允许具有‘无值’",但“有时从程序的结构中可以清楚地看出,在第一次设置该值后,可选项将始终 ..
发布时间:2021-12-02 15:23:10 移动开发

Swift 中的可选值是什么?

来自 Apple 的文档: 您可以结合使用 if 和 let 来处理可能缺失的值.这些值表示为可选项.可选值要么包含一个值,要么包含 nil 以指示该值丢失.在值的类型后写一个问号 (?) 以将该值标记为可选. 为什么要使用可选值? 解决方案 Swift 中的 optional 是一种可以保存值或不保存值的类型.可选项是通过将 ? 附加到任何类型来编写的: 变量名:字符串?= ..
发布时间:2021-12-02 15:17:02 移动开发

我什么时候应该将可选值与 nil 进行比较?

很多时候,您需要编写如下代码: if someOptional != nil {//用解开的 someOptional 做一些事情,例如someFunction(someOptional!)} 这似乎有点冗长,而且我听说使用 ! 强制解包运算符可能不安全,最好避免使用.有没有更好的方法来处理这个问题? 解决方案 检查一个可选项是否不是 nil 几乎总是没有必要的.几乎唯一需要这样做的时 ..
发布时间:2021-12-01 17:27:43 移动开发

Swift 中快捷可选绑定语法的等效性

给定 var mayInt: Int? 以下两个条件语句有何不同? //(1)如果让 y =maybeInt {是} 别的 {out.println("不行")}//(2)如果让y=maybeInt?{是} 别的 {out.println("不行")} 他们的行为似乎完全一样.前者是后者的捷径? 解决方案 第二种语法是可选的 chaining —— 只是在链接运算符之后没有任何内容 ..
发布时间:2021-11-30 12:20:26 移动开发

`Optional.orElse()` 和 `Optional.orElseGet()` 之间的区别

我试图了解 可选.orElse() 和 可选的.orElseGet()方法. orElse() 方法的描述是“如果存在则返回值,否则返回其他." 虽然,orElseGet() 方法的描述是“如果存在则返回值,否则调用其他并返回该调用的结果." orElseGet() 方法接受一个供应商函数接口,它本质上不接受任何参数并返回T. 在什么情况下需要使用orElseGet()?如 ..
发布时间:2021-11-25 17:11:21 Java开发

为什么不应该在参数中使用 Java 8 的 Optional

我在很多网站上都读过 Optional 应该只用作返回类型,而不是在方法参数中使用.我正在努力寻找一个合乎逻辑的原因.例如,我有一个逻辑,它有 2 个可选参数.因此,我认为像这样编写我的方法签名是有意义的(解决方案 1): public int calculateSomething(Optional p1, Optional p2 {//我的逻辑} 许多网页指定 Optional 不应用作方法 ..
发布时间:2021-11-25 13:05:44 Java开发