scala的泛型应用场景

复制代码
用代码表示泛型类:

//泛型:类型参数化
//Pair约定一对数据
class Pair[T](var x:T,var y:T)
//class 类名(成员名:数据类型)--->class 类名[泛型名](成员名:泛型名)

/.参考代码:

/1.泛型类
object Test2{
  def main(args: Array[String]): Unit = {
    val p1 =new Pair[Int](1,2)
    val p2 =new Pair[Double](1.0,2.0)
    val p3 =new Pair[String]("abc","ccc")
    
  }
}

用代码表示泛型特质

/.参考代码:

/2.泛型特质
object Test3 {
  //定义一个日志
  //泛型特质,T是泛型名称,可以更改
  trait Logger[T]{
    val content:T
    def 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()
  }
}
相关推荐
梅菲塔亚8 分钟前
华为云从入门到实战
开发语言·华为云·php
霸道流氓气质13 分钟前
幂等性与 Upsert:防止重复操作产生副作用的技术
开发语言·php
牛奔24 分钟前
mise 管理多版本 Go 项目
开发语言·前端·chrome·后端·golang
波力海苔夹心脆67538 分钟前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
2601_962885721 小时前
如何用 Python 计算 BBI 多空指标?
开发语言·python
老王爱玩车1 小时前
动态内存管理
c语言·开发语言·学习·面试
I'm Jie1 小时前
【开源】7 天,我用 Rust 复刻了 FinalShell!Rhost v1.0.0 发布
开发语言·rust·开源
打工仔折腾 AI1 小时前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
kimnoic1 小时前
Python常用命令提示符使用方法详解
开发语言·python