大数据全系列 教程
1869个小节阅读:468k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Scala的泛型和Java中的泛型表达的含义都是一样的,对处理的数据类型进行约束,但是Scala提供了更加强大的功能。
类型和泛型的区别:
泛型的基本使用:
xxxxxxxxxx
package com.itbaizhan
object Generic1 {
class Animal {}
class Person extends Animal {}
class Man extends Person {}
//TODO 1. scala中的泛型采用中括号
class Car[T]{}
def main(args: Array[String]): Unit = {
//Scala中的泛型和java中的泛型大同小异
//TODO 2. scala中的基础的泛型也是不可变的
val car1:Car[Person] = new Car[Person]
//val car2:Car[Person] = new Car[Animal]//错误
//val car3:Car[Person] = new Car[Man]//错误
}
}
马丁为了使用更加灵活引入了泛型协变和逆变的概念,可以实现声明和实例时泛型不一致的功能。
实时效果反馈
1. 关于Scala泛型的描述,错误的是:
A 类型对外部的数据做约束,泛型对内部的数据做约束。
B scala中的泛型采用中括号[]。
C Scala中的泛型和java中的泛型一样,无论如何声明和实例化时泛型都必须一致。
D scala中的基础的泛型也是不可变的。
答案:
1=>C 在泛型协变或泛型逆变的情景下,可以实现声明和实例时泛型不一致的功能。