Scala 输出数组的地址,而不是值的解决方法

前言

cell_grid_lists :List[String] = List("cell/level/type/grid","cell0/level0/type0/grid0","cell1/level1/type1/")"cell1/level1/type1/" 进行删除,重新放到一个List中,代码没有报错,但显示的是地址,我想要值。

程序

object test_List01 {

  def main(args: Array[String]): Unit = {

    val cell_grid_lists :List[String] = List("cell/level/type/grid","cell0/level0/type0/grid0","cell1/level1/type1/")
    var cell_grids :List[String] = List()

    cell_grid_lists.foreach(x=>{

      val cell_grid_list= x.split("/")

      if (cell_grid_list.size > 3) {
      // 这里有问题
        cell_grids +:= cell_grid_list.toString  // cell_grids 存放的是网格信息和null
      }else{
        cell_grids +:= null
      }
    })
    //  cell_grids 存放的是网格信息和null,删除null信息或者为null信息
    cell_grids = cell_grids.filter(_ != null)

    println(cell_grids)
  }
}

结果展示

List([Ljava.lang.String;@58ceff1, [Ljava.lang.String;@48140564)

解决方法

toString 改成 mkString("/")

结果展示为

List(cell0/level0/type0/grid0, cell/level/type/grid)

总结

字符串采用split("/") 方法后,成了一个Array[String],需要将String 放到List中,采用的方法就是mkString("/") 再重组一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nsq_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值