下面的代码抛出一个ClasscastException(java.lang.ClassCastException:类java.lang.String不能强制转换为类java.lang.String)
final DataStreamSource<String> st1 = environment.fromCollection(List.of("asdf", "asfd"));
final DataStreamSource<Integer> st2 = environment.fromCollection(List.of(1, 2, 3));
st1.filter(Objects::nonNull);
st2.filter(Objects::nonNull);
字符串
但是当我们这样做的时候
final DataStreamSource<String> st1 = environment.fromCollection(List.of("asdf", "asfd"));
final DataStreamSource<Integer> st2 = environment.fromCollection(List.of(1, 2, 3));
st1.filter(s -> Objects.nonNull(s));
st2.filter(i -> Objects.nonNull(i));
型
一切正常。
Bug还是特性?
Flink:1.17.0,java 11
1条答案
按热度按时间twh00eeo1#
我也有类似的问题。如果你这样写,它会给你一个错误。
字符串
然后切换到
型
一切都很好