处理空值 Hazelcast 投影

Handling null values Hazelcast Projections

如何处理 hazelcast 投影中的空值

HazelcastInstance hz = Hazelcast.newHazelcastInstance();
IMap<Integer, HazelcastJsonValue> map = hz.getMap("myMap");

map.set(0, new HazelcastJsonValue("{\"id\":\"01\",\"name\":\"abc\",\"age\":null}"));
map.set(1, new HazelcastJsonValue("{\"id\":\"02\",\"name\":\" data\",\"age\":37} "));
map.set(2, new HazelcastJsonValue("{\"id\":\"03\",\"name\":\"abc\",\"age\":39}"));

Collection<Object[]> projection = map.project(Projections.multiAttribute("id", "name","age"));

在上面的代码中,您可以观察到第一个条目的年龄字段为空,因此 Projections 会抛出异常。 如何 return 抛出异常中的空值...

您使用的是哪个 Hazelcast 版本?

我试过 4.0.2。我添加了以下代码片段来打印元素:

projection.stream()
          .flatMap(Stream::of)
          .forEach(System.out::println);

输出如下:

03
abc
39
01
abc
null
02
 data
37