optional相关内容

没有<可选>在 MS Visual Studio 2013 中 - 该怎么做?

我想使用 std::experimental::optional,但 MSVS 2013 告诉我它找不到标题. 为什么它不在那里? 我可以根据其他地方的代码推出自己的代码吗?也许是 C++14 提案? 解决方案 std::experimental::optional 源自 Boost.Optional 库,该实现在 Visual C++ 12.0 中运行良好(尽管它有所不同 一点) ..

strings.xml 中的参数是否可能?

在我的 Android 应用程序中,我将通过国际化实现我的字符串.我的语法和句子在不同语言中的构建方式有问题. 例如: “5 分钟前"- 英文 “前五分钟"- 德语 我可以在 strings.xml 中做类似下面的事情吗? {0} 分钟前 然后是一些魔法 getString(R.id.timeFormat, dynamicTimeValue) 这种行为也可以解决不同 ..
发布时间:2021-12-29 19:37:23 移动开发

如果不存在,如何在 Optional 上执行逻辑?

我想用 java8 Optional 替换下面的代码: public Obj getObjectFromDB() {obj obj = dao.find();如果(对象!= null){obj.setAvailable(true);} 别的 {logger.fatal("对象不可用");}返回对象;} 以下伪代码不起作用,因为没有 orElseRun 方法,但无论如何它说明了我的目的: pu ..
发布时间:2021-12-28 09:10:29 Java开发

将 Optional 用作类中的属性是一种好习惯吗?

我读过一些关于 Java 8 中 Optional 的用途(不幸的是我不记得在哪里),我很惊讶作者没有提到使用 Optional 作为类中的一个属性. 由于我在课堂上经常使用可选项,我想知道这是否是一个好习惯.或者我可以更好地使用普通属性,当它们未设置时返回 null 吗? 注意: 看起来我的问题是基于意见的,但我觉得在课堂上使用 Optional 真的不是办法(阅读完提到的帖子).但 ..
发布时间:2021-12-28 09:02:38 Java开发

当我需要在 Optional.orElse() 上使用 Optional.orElseGet() 时

即使我阅读了此链接 上的差异,但不清楚.那么谁能用代码简短地向我解释一下? 解决方案 我想我开始理解你的问题了.Optional 的执行顺序可能与我们在过程编程中习惯的不同(Java 流和其他使用 lambda 的代码也是如此). 我将使用 Eugene 的回答中的两个示例: o1.orElse(new MyObject());//1055e4af 这是普通的旧 Java:它是 ..
发布时间:2021-12-28 08:59:23 Java开发

从一个 Optional 或另一个获取价值

我有两个 java.util.Optional 实例,我想获得一个 Optional : 如果有值,则为第一个 Optional 的值. 如果有值,则为第二个 Optional 的值. 空的,Optional 都没有值. 是否有一种直接的方法可以做到这一点,即是否已经有一些 API 可以做到这一点? 下面的表达式会做到这一点,但我必须两次提到第一个可选: firstOpti ..
发布时间:2021-12-28 08:51:44 Java开发

Java 8 - Optional.flatMap 和 Optional.map 之间的区别

这两种方法有什么区别:Optional.flatMap() 和 Optional.map()? 一个例子将不胜感激. 解决方案 如果函数返回您需要的对象,请使用 map 或如果函数返回 使用 flatMap>可选.例如: public static void main(String[] args) {可选的s = Optional.of("输入");System.out.print ..
发布时间:2021-12-28 08:48:05 Java开发

使用 Java8-Optional 做时

我在我的一些项目中经常使用 do-while-checkNextForNull-getNext 循环模式(不知道它是否有正式名称).但是在 Java8 中,使用 Optional 被认为是比在客户端代码中检查空引用更干净的代码.但是当在这种循环模式中使用 Optional 时,代码会变得有点冗长和丑陋,但因为 Optional 有一些方便的方法,我希望一定存在一种比我在下面提出的方法更简洁的方法. ..
发布时间:2021-12-26 18:11:45 Java开发

为什么`Option` 支持`IntoIterator`?

我试图迭代字符串向量的一个子部分,即 Vec 的一个子切片.在每次迭代中,我想将字符串作为切片传递给函数. 我没有注意到 Vec::get 返回一个 Option,并认为我可以直接迭代返回值: fn take_str(s: &str) {println!("{}", s);}fn 主(){let str_vec: Vec= [“一"、“二"、“三"、“uno"、“dos"、“tres"]. ..
发布时间:2021-12-25 09:42:25 其他开发

使用 Boost 库程序选项的必需参数和可选参数

我正在使用 Boost 程序选项库来解析命令行参数. 我有以下要求: 一旦提供了“帮助",所有其他选项都是可选的; 如果未提供“帮助",则需要所有其他选项. 我该如何处理?这是我处理这个的代码,我发现它很多余,我认为一定有一个容易做到的,对吧? #include #include #include 命名空间 po = boost::program_options;bool p ..
发布时间:2021-12-24 15:27:41 C/C++开发

Optional.ifPresent() 的正确使用

我正在尝试理解 Java 8 中 Optional API 的 ifPresent() 方法. 我的逻辑很简单: 可选用户=...user.ifPresent(doSomethingWithUser(user.get())); 但这会导致编译错误: ifPresent(java.util.functionError:(186, 74) java: 'void' type not all ..
发布时间:2021-12-23 22:21:00 Java开发

Java 8 可选:ifPresent 返回对象 orElseThrow 异常

我正在尝试做这样的事情: private String getStringIfObjectIsPresent(Optional object){object.ifPresent(() ->{字符串结果 = "结果";//一些带有结果的逻辑并返回它返回结果;}).orElseThrow(MyCustomException::new);} 这行不通,因为ifPresent 将Consumer 功 ..
发布时间:2021-12-23 22:06:25 Java开发