KStream 不兼容类型

萨钦·卡德曼

我正在尝试使用字符串进行编码部分的操作,并想出了下面的代码,请帮助解决代码的语法问题。

KStreamBuilder builder = new KStreamBuilder();
KStream<String, String> textlines = builder.stream("INTOPIC");
KStream<String, String> mstream = textlines
    .foreach(new ForeachAction<String, String>(){
        public void apply(String key, String value){
            String str=value.replace("[","");
            for(int y=0; y<str.length(); y++){
                //System.out.print(str.charAt(y));
            }
            //System.out.print("\n");
        }
    });
mstream.to("OUTTOPIC");

在第二个 KStream 语句中,它显示了不兼容的类型..... 我希望替换逻辑可以使用并且它应该影响到 textlines 变量。提前致谢。

亚历克斯·奥特

的结果foreachvoid,而不是下一个KStream如果要转换数据,则需要map改用...

代码将遵循以下方式(特别是如果您还需要更改密钥,如果不是 - 请参阅下一个变体):

KStreamBuilder builder = new KStreamBuilder();
KStream<String, String> textlines = builder.stream("INTOPIC");
KStream<String, String> mstream = textlines
    .map((key, value) -> new KeyValue<>(key, value.replace("[",""))));
mstream.to("OUTTOPIC");

或者您可以用以下内容替换第 3-4 行(这将导致更好的执行):

KStream<String, String> mstream = textlines
    .mapValues(value -> value.replace("[",""));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章