版权声明:个人原创,转载请标注! https://blog.csdn.net/Z_Date/article/details/84335519
概念:约束数据的
泛型[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类