![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
PursuitK
做最好的自己
展开
-
compare排序原理
Compare 样例代码: class SortDemo extends Ordering[((Any, String), Int)]{ override def compare(x: ((Any, String), Int), y: ((Any, String), Int)): Int = { y._2 - x._2 } } 原理: compare返回值是Int类型,三种情况正数、0、负数。 compare如果比较的是Int、Float、Double类型的话,直接以值进行比较。 com原创 2021-03-01 15:42:19 · 1992 阅读 · 0 评论 -
scala上界与下界、协变与逆变
scala上界与下界 类型的上界与下界,是用来定义类型变量的范围,作用于类。 scala上界(Upper Bounds) scala中上界定义[S <:T]类似于java中上界定义<? extends T>。 定义 S <: T 这是类型上界的定义,S必须是类型T的子类(或本身),自己也可以认为是自己的子类。 代码实现: class Animals class Bird extends Animals class Hawk extends Bird class原创 2021-02-27 10:47:24 · 178 阅读 · 0 评论 -
scala隐式类型转换和隐式参数
隐式类型转换 应用场景 隐式类型转换常用于不同类型间数据的相互转化。 例如,如果要将一个Double类型的数据赋值给Int类型的变量: var number:Int = 40.3 这样写会报错,如果需要将Double类型的数据转化为Int类型,可以使用: 40.3.toInt 但是如果要将Double类型的数据自动转换为Int类型的数据,这时候就要用到隐式转换。 隐式转换的实现 implicit def doubleToInt(a:Double)={ a.toInt原创 2021-02-26 17:20:36 · 121 阅读 · 0 评论 -
传值调用和传名调用
scala的传值调用和传名调用 共用代码: //传值调用和传名调用 var money = 100 //定义一个花钱的方法 //花钱 def buy(): Unit ={ money -= 5 } //查询 def see()={ buy() money } 传值调用 当传入参数为一个具体的数值时,参数的值一旦确定,就不会改变。 def value(x:Int): Unit ={ for(i <- 1 to 5){原创 2021-02-24 16:27:55 · 451 阅读 · 2 评论