当前位置: 首页 > news >正文

InstanceOf

强制类型转换用于将一种数据类型转换为另一种数据类型,通常在以下情况使用:

  • 基本类型转换

double price = 9.9;
int intPrice = (int) price;  // 强制转换为int,结果为9
  • 父子类之间转换

// 向上转型(自动转换)
Animal animal = new Dog();
​
// 向下转型(需要强制转换)
Dog dog = (Dog) animal;  // 必须确保animal实际是Dog类型,否则会抛ClassCastException
  • 包装类与基本类型转换

Object obj = 100;
int num = (Integer) obj;  // 先转为包装类,再自动拆箱

InstanceOf

是实现多态和类型安全转换的重要工具

  • 是一个二元运算符,判断对象是不是某一个类(接口、父类)的实例

  • 返回boolean类型

  • 左侧是要检测的对象(必须是引用 类型,不能是基本类型)

    int num = 10;
    // 编译错误:基本类型不能用于instanceof
    System.out.println(num instanceof Integer); 
  • 右侧是类名或者接口名

  1. 判断继承关系

class Animal {}
class Dog extends Animal {}
​
public class Main {public static void main(String[] args) {Animal animal = new Dog();Dog dog = new Dog();System.out.println(animal instanceof Animal); // true(animal是Animal的实例)System.out.println(animal instanceof Dog);    // true(animal实际是Dog的实例)System.out.println(dog instanceof Animal);    // true(Dog是Animal的子类)}
}
  1. 类型转换的检查

class Animal {}
class Dog extends Animal {void bark() {System.out.println("汪汪");}
}
​
public class Main {public static void main(String[] args) {Animal animal = new Dog();// 安全转型:先判断再转换if (animal instanceof Dog) {Dog dog = (Dog) animal; // 向下转型dog.bark(); // 调用子类特有方法}}
}
  • null不是任何类的实例,会返回false

  1. 接口类型判断

    interface Runnable {}
    class MyThread implements Runnable {}
    ​
    public class Main {public static void main(String[] args) {MyThread thread = new MyThread();System.out.println(thread instanceof Runnable); // true}
    }

getClass

Animal animal = new Dog();
System.out.println(animal instanceof Animal); // true
System.out.println(animal.getClass() == Animal.class); // false(实际类型是Dog)

new 的谁 类型就是谁

http://www.dtcms.com/a/513526.html

相关文章:

  • 服装网站建设前景分析Wordpress 普通图片裁剪
  • 网站制作公司高端个人社保缴费查询
  • 科研范式中第一范式到第五范式
  • 容桂网站建设找顺的网站建设专家论证会
  • 免费金融发布网站模板wordpress页面发布不
  • 建设企业网站价钱高中信息技术网站建设
  • 定制手机网站建设阿里指数网站
  • 深圳 网站设计公司价格盐城网站建设网站制作推广
  • 网站排名优化的技巧石家庄展华贸易有限公司网页制作
  • 响应式网站代理代运营公司需要什么资质
  • 网站建设顶部图片适合这手机浏览器主页的网站
  • 网站开发建设总结网站分析设计做的项目的过程
  • 潍城营销型网站建设中国网站优化
  • 北京商业设计网站哪个网站做投票链接模板好看
  • 地方门户网站管理系统网站开发需要学什么语言
  • 网站备案包括空间内容吗wordpress菜单的功能
  • 网站建设公司及网络安全法wordpress自动设置文章第一张
  • 校园网站建设年度总结做公司网站首页
  • 【含文档+源码】基于SpringBoot的健身工作室管理系统的设计与实现
  • 外国人学做中国菜 网站杭州哪里做网站好
  • 做网站弄什么语言网站建设公司对比分析报告
  • 网站策划与设计网站制作专业的公司哪家好
  • 做网站和做网页一样吗wordpress插件的选择
  • 有关大数据的网站及网址长沙域名注册
  • 构建自己的网站江苏建设服务信息网站
  • 做网站空间500m多少钱wordpress首页分类标题
  • 智库报告美国如何打网络战
  • ru如何制作网站个人网站建设服务器
  • 塞尔达系列合集 PC/手机双端【145.3 GB】
  • 北京定制网站开发公司有网站源码如何建站