idea对scala2.13.1的编译检查有问题?

在交互式界面:

List("hadoop hdfs mr hive","hdfs hive hbase storm kafka","hiv e hbase storm kafka spark").flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).map(x => (x._1, x._2.size)).toList.sortBy(_._2).reverse.foreach(println)

可以成功执行

在idea中会触发编译错误,提示 Type mismatch

需要改成

List("hadoop hdfs mr hive","hdfs hive hbase storm kafka","hiv e hbase storm kafka spark")
      .flatMap(_.split(" "))
      .map((_, 1))
      .groupBy(_._1)
      .map{
        case item: (String, List[(String, Int)]) => (item._1, item._2.size)
      }.toList.sortBy(_._2).reverse.foreach(println)

才可以

差距就是在 .map(x => (x._1, x._2.size)) 这里,idea不会自动判断类型吗?

不明白为什么,idea有bug?还是我哪里没有设置好?

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进