处理空值 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
如何处理 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