Scala学习 ----- 泛型(上界、下界、视图界定)(难点)

121 篇文章 0 订阅
29 篇文章 0 订阅

概念:约束数据的

泛型[T]

 

//约束数组中的元素
val arry=new Array[Int](2)
class CompareObject[T](per1:T,per2:T) {

上界[A<:B]:A必须是B的子类,才能满足泛型的要求

案例:比较两个对象的大小

 

package com.zzk4

class Person(var name:String,var age:Int) extends Comparable[Person]{
  //比较方法
  override def compareTo(o: Person): Int = {
    return this.age-o.age
  }
}
package com.zzk4

class CompareObject[T<%Comparable[T]](per1:T,per2:T) {
  //比较
  def comparObject(): Int ={
    per1.compareTo(per2)
  }
}

object Test{
  def main(args: Array[String]): Unit = {
    //val p1=new Person("李太白",122)
    //val p2=new Person("武松",122)
    //测试比较两个Person对象大小
    val com=new CompareObject[String]("zhangsan","abc")
    val i=com.comparObject()
    print("---->"+i)



  }
}

下界[A>:B] A必须是B的父类,才能满足泛型的要求

视图界定[A<%B]:A通过隐式转换的类,实现了B类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值