小编Riv*_*Riv的帖子

if-elseif-else类似的Java 8流功能

我有一个对象列表,可以说形状。我想使用流来处理它们,并根据列表中的内容返回另一个对象-ShapeType。

通常,我只返回ShapeType.GENERIC,但是如果其中存在Rectangle,我想返回ShapeType.RECT。如果列表中有一个六角形,我想返回ShapeType.HEXA。当同时存在矩形和正方形时,我想返回ShapeType.HEXA。

现在,当涉及到代码时,我想要这样的东西:

  public ShapeType resolveShapeType(final List<Shape> shapes) {
    shapes.stream()
    .filter(shape -> shape.getSideCount() == 6 || shape.getSideCount() == 4)
    // I should have a stream with just rectangles and hexagons if present.
    // what now?
  }
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

标签 统计

java ×1

java-8 ×1

java-stream ×1