关于流和collect方法,我确实对jdk11(及更高版本)的行为有疑问。我确实想获取流化资源的参数化容器的值,并最后以收集值.collect(Collectors.toSet())。
当我用编译我的代码时,jdk8它工作得很好。但由于我们也需要支持jdk11,因此我运行了编译,但由于Error:(136, 17) java: incompatible types: java.lang.Object cannot be converted to java.util.Set<org.bson.types.ObjectId>(对于openJdk11同样适用)而失败
想象以下情况。我有一个基本上是数据容器的类。该容器可以容纳单个值或值列表。
在我的应用程序的某些部分中,我确实有此容器类的列表(它也可以包含列表作为值),并且我确实希望流经列表以将容器中的所有值作为平面列表获得。
在此示例中,我选择使用objectIds列表。
// preparation
List<ObjectId> innerObjects = new ArrayList<>();
innerObjects.add(new ObjectId());
innerObjects.add(new ObjectId());
List<Diamond<Object>> diamonds = new ArrayList<>();
diamonds.add(new Diamond<Object>().value(innerObjects));
Run Code Online (Sandbox Code Playgroud)
public static class Diamond<T> {
private T value;
public Diamond<T> value(T value) {
this.value = value;
return this;
}
public T getValue() {
return this.value;
}
}
Run Code Online (Sandbox Code Playgroud)
Set<ObjectId> objectIdSet = diamonds
.stream()
.filter(diamond …Run Code Online (Sandbox Code Playgroud) 感谢 Corona - 我们大多数人都在家工作,由于一些方便,我想使用我家里的 Windows 机器。
我确实使用 DockerDesktop 版本 2.3.0.3 运行 Win10,引擎在版本 19.03.8 上运行。我正在做的是在本地主机上公开 docker deamon,以便从我安装的 WSL(版本 1,而不是 2)Ubuntu 中使用它。Docker 本身可以工作,我可以提取图像并做基本的事情。但我在安装卷时遇到问题:-/
当我尝试运行 docker-compose up 命令时,它失败并出现以下错误:
ERROR: for my-service Cannot start service my-service: error while mounting volume '/var/lib/docker/volumes/someDir/_data': failed to mount local volume: mount /home/myUser/myLocalDirectory:/var/lib/docker/volumes/someDir/_data, flags: 0x1000: no such file or directory
Run Code Online (Sandbox Code Playgroud)
该目录/home/myUser/myLocalDirectory确实存在。/var/lib/docker/volumes/someDir/_data我的 WSL“主机”上不存在目录。只有一个/var/lib/docker-engine/...文件夹,这显然不是我要找的文件夹:-/
我的工作路径是/mnt/e/projects/myDockerProject- 但我也尝试安装/绑定文件夹/硬盘驱动器,如下所示。
一切都不起作用,我真的被困住了 - 你有什么建议/解释吗?