【Java】7. 类型转换和类型判断

7. 类型转换

7.1 基本类型转换

image.png

顺箭头:隐式转换(自动)

逆箭头:强制转换(可能造成精度丢失)

byte a = 10;
int  b = a;
int c = 1000;
byte d = (byte) c;
System.out.println(d);  // -24  

7.2 包装类型与基本类型之间的转换

image.png

int a = 10;
Integer b = a;
Integer c = new Integer(20);
int d = c;
System.out.println(d);

7.3 引用类型之间的转换规则

继承特点:

  • 单继承:子类只能继承一个父类
  • Object 是其他类型直接或者间接的父类型(不写 extends 也是继承 Object)

转换规则:

  • 顺箭头:隐式转换

image.png

public class TestArray {public static void main(String[] args) {Animal a = new Cat();  // 对象还是原本的对象,只是用父类型或者祖先类型来代表它Object b = new Cat();
//        Appliance c = new Cat();  // 不合法}
}
class Animal extends Object {}
class Cat extends Animal {}
class Dog extends Animal {}
class Appliance {}
  • 逆箭头:强制转换
public class TestArray {public static void main(String[] args) {Animal a = new Cat();  // 对象还是原本的对象,只是用父类型或者祖先类型来代表它Object b = new Cat();Cat c = (Cat) a;
//        Dog d = (Dog) a;  // 类型转换错误 ClassCastExceptionAnimal d = (Animal) a;}
}
class Animal extends Object {}
class Cat extends Animal {}
class Dog extends Animal {}
class Appliance {}

7.4 类型判断

System.out.println(a.getClass()); // class com.example.demo.Cat
System.out.println(b.getClass()); // class com.example.demo.Cat
System.out.println(a instanceof Cat);  // true

7.5 字符串和数字的转换

String a = "1";
String b = "2";
System.out.println(a + b); // 12
System.out.println(Integer.parseInt(a) + Integer.parseInt(b)); // 3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/226363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是 dropblock

大家好啊,我是董董灿。 之前介绍过 dropout 算法,它在训练神经网络中,可以随机丢弃神经元,是一种防止网络过拟合的方法。 但是在卷积神经网络中,dropout 的表现却不是很好,于是研究人员又搞了一个“结构化…

第二十章总结

线程简介 Windows操作系统是多任务操作系统,它以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程。也就是说每个正在执行的程序都是一个进程。系统可以分配给每一个进程有一段有限的使用CPU的时间(也可以称为…

建筑木模板厂家批发

在建筑施工中,木模板是一种常见且重要的施工材料,用于搭建混凝土浇筑的支撑结构。选择合适的建筑木模板厂家进行批发,对于施工质量和效率至关重要。本文将介绍建筑木模板厂家批发的重要性,并推荐贵港市能强优品木业作为专业的建筑…

【C++初阶】四、类和对象(构造函数、析构函数、拷贝构造函数、赋值运算符重载函数)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】三、类和对象 (面向过程、class类、类的访问限定符和封装、类的实例化、类对象模型、this指针) -CSDN博客 引入:类的六个默认成员函数…

如何获取高质量的静态住宅IP代理?常见误区与注意事项

静态住宅IP代理在今天的网络营销领域扮演着至关重要的角色,静态住宅IP代理以其稳定性和高匿名性,为互联网业务提供了一个安全的执行环境。通过模拟真实用户的网络行为,这些IP代理降低了企业在网络营销活动中被识别和封禁的风险。它保护了企业…

基于SpringBoot的手机官方商城系统

基于SpringBoot的手机官方商城系统 摘要:随着电子商务的发展,网上购物已成为人们普遍的购物方式。与此同时,网上支付也得到了迅速的发展,大有赶超传统支付的趋势。在今天这个信息化程度高、生活节奏快的现代社会,传统…

Airtest自动化测试工具实战演练

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

Centos7安装配置nginx

快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,小编会及时修改) Centos7安装配置nginx Nginx介绍 Nginx (engine x) 是一个高性能的 HTTP 和 反向代理 服务,也…

浅谈硬件连通性测试几大优势

硬件连通性测试是确保硬件系统正常运行、提高系统可靠性和降低生产成本的关键步骤。在现代工程和制造中,将连通性测试纳入生产流程是一个明智的选择,有助于确保硬件产品的质量和性能达到最优水平。本文将介绍硬件连通性测试的主要优势有哪些! 一、提高系…

计算机网络408

一:计算机网络体系结构 1.计网的概念,组成,功能和分类 一:计算机网络的发展 (3)从功能组成视觉看:分为资源子网和通信子网 2.计网性能指标

C++初阶模板

介绍: 我们先认识以下C中的模板。模板是一种编程技术,允许程序员编写与数据类型无关的代码,它是一种泛型编程的方式,可以用于创建可处理多种数据类型的函数或类,也就是说泛型编程就是编写与类型无关的通用代码&#xf…

2023-11-28 LeetCode每日一题(设计前中后队列)

2023-11-28每日一题 一、题目编号 1760.设计前中后队列二、题目链接 点击跳转到题目位置 三、题目描述 请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。 请你完成 FrontMiddleBack 类: FrontMiddleBack() 初…