update: 当带有括号并包含一到多个参数进行赋值时,编译器将使用对象的update方法对“括号里的参数和等号右边的值”执行调用
val scores = new scala.collection.mutable.HashMap[String, Int]
scores("Bob") = 100
val bobsScore = scores("Bob")
以上三行代码,我们创建了一个可变的map来存储得分情况,然后我们记录了Bob的得分是100分,最后我们又把Bob的分数取出来了。
这三行代码看似平淡无奇,实则暗藏了一点点玄机。
第二行实际是调用了HashMap的update方法。
第三行实际是调用了HashMap的apply方法。
我们可以把上面的代码改写成下面的等价形式:
val scores = new scala.collection.mutable.HashMap[String, Int]
scores.update("Bob", 100)
val bobsScore = scores.apply("Bob”)
class SomeClass {
defupdate(arg1:Int, arg2:String, arg3:String):String ={