小编adi*_*moh的帖子

如果返回的Optional具有值,则返回可选,否则调用另一个函数

我有两个方法func1和func2返回Optional.如果从func1返回的Optional具有值,则返回可选,否则调用func2并返回其Optional.一种方法是使用if-else.

Optional<MyObject> opt1 = func1();
if (opt1.isPresent()) {
    return opt1;
}
return func2();
Run Code Online (Sandbox Code Playgroud)

但是,我希望使用Java 8 Optional来实现它并避免使用它if-else.

就像是:

return Optional.of(obj1) 
        .flatMap_returnOptionalIfvaluePresent(func1)
        .orElseReturnOptionalFromThis(func2)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议一个好方法吗?

java optional java-8 flatmap

5
推荐指数
1
解决办法
757
查看次数

使用 C 中的值初始化整个数组

我试图初始化整个int数组,在搜索 Stackoverflow 后,我发现最好的方法是使用std::fill_nfrom<algorithm><vector>header,但包含两者会给出错误。我认为这些方法只能在 C++ 中使用,还是我做错了什么?

如何使用 C 中的值初始化整个数组而不使用任何循环,即在单个语句中?

我正在 Fedora 14 终端上工作并使用 gcc 编译它。

c arrays algorithm gcc header

3
推荐指数
1
解决办法
3937
查看次数

将 Enum 类名称本身作为字符串获取的最佳方法

我有一个枚举。

公共枚举市场 { A, B, C; }

我想获取班级名称。因此 getEnumClassName() 返回字符串“Market”。

java

2
推荐指数
1
解决办法
866
查看次数

git - 删除之间的多个提交

git 日志场景:

提交1

提交2

提交 3

提交 4

提交 5

提交 6

我需要删除 2-4 之间的提交,使最终的 git 日志为

提交1

提交 5

提交 6

最好的方法是什么?

git git-commit

1
推荐指数
1
解决办法
2146
查看次数

Lombok 的 @NonNull 或 javax @Nonnull

龙目岛的@NonNull VS javax.annotation.Nonnull

哪个更适合用于方法参数以及何时使用?

这里的答案模糊地比较了所有注释,但没有推断出哪一个最好。我只是想知道两者中哪个更好。

java null annotations non-nullable lombok

1
推荐指数
1
解决办法
1万
查看次数

根据另一个对象列表中找到的值对对象列表进行排序

有 2 个对象列表AB。所以List<A>List<B>. ABid有一个连接它们的 公共 Sting 场。B也有一个数字字段value。我们希望根据列表 Bvalue中的内容对列表 A 进行排序。

使用 Java API(例如Comparator )执行此操作的最佳方法是什么?

java arraylist comparator

1
推荐指数
1
解决办法
217
查看次数