前言
将 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("/")
再重组一下。