/**
* isInstanceOf只能判断对象是否为指定类及其子类对象,而不能精确判断对象就是指定类的对象;
* 如果要求精确的判断出对象的类型就是指定的数据类型,那么就只能用getClass和classOf来实现
*
* 对象.getClass可以精确获取对象的类型
* classOf[类名]可以精确获取数据类型
* 使用“==”操作符可以直接比较类型
*/
object 判断类型 {
class Person
class Student extends Person
def main(args: Array[String]): Unit = {
val p: Person = new Student
/**
* isInstanceOf:只要传入的是Person类或者其子类对象,返回值都是true
*/
// 通过isInstanceOf关键字来判断创建的对象是否是Person类的对象
println(p.isInstanceOf[Person])
// 通过isInstanceOf关键字来判断创建的对象是否是Student类的对象
println(p.isInstanceOf[Student])
/**
* getClass和classOf可以精确获取对象的类型
*/
// 通过getClass和classOf关键字来判断创建的对象是否是Person类型的对象
println(p.getClass == classOf[Person]) // 必须是Person类型的对象,否则返回false
// 通过getClass和classOf关键字来判断创建的对象是否是Student类型的对象
println(p.getClass == classOf[Student]) // 必须是Student类型的对象,否则返回false
}
}
scala判断类型
最新推荐文章于 2023-08-31 13:23:39 发布