- scala如何判断类型及强制类型转换
-
if(p.getClass == classOf[Employee]){ } if(p.isInstanceOf[Employee]){ var newP = listener.asInstanceOf[Employee] }
- for循环
- scala中没有与java一样的for循环
-
for(i <- 表达式) 实现i遍历 表达式里的所有元素。表达式可以是Range类对象或者是集合类。遍历字符串使用的是until而不是to. val s= 'hello'; var sum = 0; for(i -> 0 unitil s.length){ sum += s(i) } for循环的推导式,for循环体如果以yield开始则该循环会构造出一个集合,每次迭代生成集合中的一个值 for(i -> 0 to 10{ yield i % 3 }
- scala 递归函数必须指定返回值类型,其他类型函数可以不指定返回值类型。
- 使用 :_*做序列转换
-
val s = sum(1 to 5 :_*) //将1到5当作参数序列来处理 序列的head是他的首元素,参数的tail是其他所有元素的序列,也是一个seq.例如: def recursiv(args:Int *):Int = { if (args.length == 0 ) 0 else args.head + recursiv(args.tail :_*) } 用 :_*转成参数序列
- 4
- 5
- 6
- 7
- 8
- 9