如何创建一个包含可选的hashmap,当检索时,它会给我值或Optional.empty?但是,我不允许检查null、Optional.empty()或使用isPresent()
,is空()
,get()
。
对于<代码>可选
例如,<代码>。获取(“John”)。平面图(x-
java prettyprint-override">import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
class CustomMap<V> {
private final Map<String, Optional<V>> map;
public CustomMap() {
map = new HashMap<String, Optional<V>>();
}
public Optional<V> get(String key) {
return map.get(key);
}
public int size() {
return map.size();
}
public CustomMap<V> put(V item) {
map.put(item.getKey(), Optional.ofNullable(item));
return this;
}
您可以在get方法中写一个检查,如下所示:
public Optional<V> get(String key) {
if (map.contains(key)) {
return map.get(key);
} else {
return Optional.empty();
}
}
问题内容: 在使用Optional对象时,是否有一种有效的方法来执行向上转换。这是一个示例代码: (2.)给出错误。我可以通过创建另一个函数来解决。 但是有没有一种有效的方法,使得func2()可以用于(1.)和(2.)? 问题答案: 我会写一个像这样的方法: (如果您不喜欢这个名字,请在下面查看我对番石榴的评论) 就运行速度而言,这是非常有效的:强制转换在编译时被忽略: 因此,唯一的成本就是方法
我使用eclipse IDE编写简单的程序 代码如下 当我试图从命令提示符运行这个程序时,我得到了以下错误 线程“main”java.lang.noClassDeffounder中出现异常错误:RegexTestHarness(错误名称:java_pr/RegexTestHarness)位于java.lang.classloader.defineclass1(本机方法)位于java.lang.cl
描述 (Description) optional关键字允许您在文件不存在时导入文件。 如果要导入的文件不存在且未使用optional关键字,则LESS将抛出FileError错误并停止编译。 此功能在version 2.3.0.中发布version 2.3.0. 例子 (Example) 以下示例演示了在LESS文件中使用optional关键字 - <html> <head>
为 Golang 语言增加动态类型与 Optional 类型,主要使用场景是:旧 PHP/Ruby 系统兼容性升级。
问题内容: 嗨,我正在使用Java Optional。我看到Optional有一个ifPresent方法。 而不是做类似的事情: 我想知道如何使用Optional.ifPresent()将值分配给变量。 我正在尝试类似的东西: 我需要lambda函数来获取分配给该变量的值是什么? 问题答案: 您可以使用#orElse或orElseThrow来提高代码的可读性。
我希望在数据库中找不到该项时出现异常