欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > scala的泛型2

scala的泛型2

2025/4/20 12:45:58 来源:https://blog.csdn.net/2301_81908848/article/details/144415313  浏览:    关键词:scala的泛型2

package test55
//隐式转换
//1.隐式函数
//2.隐式类
//3.隐式对象
//4.函数的隐式参数//泛型:类型参数化。
//Pair 约定一对数据
class Pair[T](var x:T, var y:T)
//泛型的应用场景:
//1.泛型函数
//2.泛型类
//3.泛型特质
object test2 {def main(args: Array[String]): Unit = {val p1=new Pair[Int](1,2)val p2=new Pair[Double](1.0,2.3)val p3=new Pair[String]("大陆","长空")}
}

package test55
//泛型特质
object test3 {//定义一个日志//泛型特质:X是泛型名称,可以更改。trait Logger[X]{val content:Xdef show():Unit}//定义一个类去实现特质class FileLogger extends Logger[String]{override val content: String = "file"override def show():Unit={println(content)}}def main(args: Array[String]): Unit = {val fileLogger=new FileLogger()fileLogger.show()}}

package test55
//定义一个函数,用来求List元素中的最大值
object test4 {//请完成你的代码//(implicitly ev: T =>Ordered[T])//T类型必须是能够进行大小比较的类型!!!def getMax[T<:Ordered[T]](list: List[T]):T={list.reduce((a,b)=> if(a > b) a else b)}
//1 2//true false//new Stud new Studcase class stu(name:String,age:Int)def main(args: Array[String]): Unit = {
//    val li=List(Pat("dog",12),Pat("cat",14))
//    val rs3=getMax(li)val rs1=getMax(List[Int](1,2,3))//3println(rs1)val rs2=getMax(List[Double](1,2,23,2.2))//4.0println(rs2)}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词