`

学习scala笔记--25 类型参数--泛型类 泛型函数

 
阅读更多

 

 

 

 

scala  类型参数

 

用参数限定类型

 

 

泛型类 

 

 

 

 

scala> class Student[T](val localId :T){

     |   def getSchoolId(hId :T)= "S-"+hId +"-"+localId 

     | }

defined class Student

 

scala> val tom = new Student[String]("uuuuuu")

tom: Student[String] = Student@7eb200ce

 

scala> tom.getSchoolId("222")

res1: String = S-222-uuuuuu

 

 

 

 

---------------------------------- 

 

泛型函数

 

scala> def getMiddle[T](a:Array[T]) = a(a.length / 2)

getMiddle: [T](a: Array[T])T

 

scala> getMiddle(Array("mary","had","a","cat"))

res2: String = a

 

 

分享到:
评论

相关推荐

    scala学习笔记整理

    在"scala学习笔记整理"中,我们可以深入探讨以下关键知识点: 1. **基础语法**:Scala的基础语法与Java有相似之处,但也有很多独特的特点。例如,它支持变量的不可变性(immutability),使用`val`声明常量,`var`...

    scala-advanced:Scala先进

    scala 入门进阶、常用类库学习 项目结构 模块说明 模块 说明 目的 完成 语言核心特性、特性深度分析示例、常用函数 入门 √ 练习题-std-lib 巩固基础 √ 练习题-Scala函数式编程 函数式编程思想进阶 × scala-谜题 ...

    Scala详细总结(精辟版++)

    Scala中的类型参数化允许开发者创建泛型类和函数,从而编写更加通用的代码。 #### 类型信息 Scala的强大之处在于其类型系统,通过类型推断和显式类型注解,可以编写类型安全的代码。 #### 集合 Scala提供了丰富的...

    scala学习笔记

    - **泛型**:Scala 支持泛型编程,可以定义泛型类、泛型方法等。 - **并发与并行**:Scala 提供了对并发和并行的支持,如 Actor 模型、Future API 等。 - **元编程**:Scala 支持反射、注解等元编程技术,可以编写...

    scala-impatient-notes

    1. 泛型:Scala的泛型是类型擦除的,但支持类型约束和类型推断,提供了一种强大的类型安全机制。 2. 类型别名:使用`type`关键字可以为已有的类型定义别名,提高代码可读性。 3. 值类型与引用类型:Scala有八种...

    Scala_day01_scala_

    Scala的类型系统还包括泛型,可以确保代码的类型安全。你将在文档中看到如何定义和使用泛型类和方法。 函数式编程的一个关键概念是柯里化(Currying),它允许将多参数函数转换为一系列单参数函数。Scala支持柯里化...

    Scala-Tutorial:Scala语法学习笔记与程式码范例from 韩顺平老师教学

    10. 泛型:支持泛型,允许定义类型参数化的类和方法。例如: ```scala def genericMethod[T](arg: T): T = arg ``` 11. 类型别名:创建新的类型名称,如`type MyInt = Int`。 六、集合库 12. 集合API:Scala提供了...

    learn-kotlin:kotlin 学习笔记

    【Kotlin 学习笔记】 Kotlin 是一种现代、面向对象的编程语言,由 JetBrains 公司开发,主要设计用于解决 Java 语言的一些痛点。它被广泛应用于 Android 应用开发,同时也适用于服务器端开发、Web 开发以及跨平台...

    scala_learn

    Scala是一种多范式编程语言,它融合了面向对象和函数式编程的概念,旨在提供一种简洁、类型安全且高性能的编程环境。"scala_learn"这个压缩包文件很可能是用于学习Scala编程的一个资源集合,可能包含了教程、示例...

    haskell_scheme_48:在 48 小时内为自己写一个计划

    玩弄一些 Haskell :mouse_face:我感到困惑的笔记数据类型 data ParsecT s u m a 所以这里的 'suma' 是任何类型,比如 Scala/Java 中的泛型 :bento_box: trait Parsec [ S , U , M , A ] (<|>) :: Monad m => ...

Global site tag (gtag.js) - Google Analytics