【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;  // 类型转换错误 ClassCastException
        Animal 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.mfbz.cn/a/199889.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【SK-learn学习】1.16 概率校准

一、说明 概率校准,指的是对于分类器而言,对应多种类别,概率最大就将样本归入,这个事实没有考虑置信度的问题。sklearn的calibration就是指的这种情形,参考本文。 二、关于sklearn.calibration的概念 执行分类时&#…

程序设计基础中可能出现的简单编程题2(以郑大为主体)

我们在学习编程过程中往往不仅有C语言实验报告,还有程序设计实验报告。程序设计这一科目主要是为了培养我们写代码时的计算思维,养成从问题到代码实现逐步分析,逐步深入的好习惯。前面有一篇文章介绍了部分程序设计实验报告中的编程题&#x…

337. 打家劫舍III (二叉树)

题目 题解 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def rob(self, root: Optional[TreeNode]) ->…

【开题报告】基于卷积神经网络的图像脑部MRI图像分割

论文题目 基于卷积神经网络的图像脑部MRI图像分割 一、选题意义 1.课题研究的目的和意义 1.1选题目的 脑部疾病是高致残致死率的疾病之一,对人们的生活质量和生命安全都有着十分重大的影响,所以各个国家都开始对脑部疾病的研究重视起来。帕金森、脑胶质…

source: command not found错误的解决方法

偶遇的一个问题,因为在网上没有找到对应的解决办法,可能是属于个案,在此记录备忘,同时供大家参考。 问题现象: 执行命令 source /etc/profile时报错: bash: “source: command not found... 问题定位和…

HCIP-十二、BGP常用属性

十二、BGP常用属性 实验拓扑实验需求及解法1.IP 地址已配置,自行测试直连。2.AS100 中运行 OSPF3.AS200 中运行 ISIS4.运行 BGP5.发布 BGP 路由6.修改起源属性 Origin7.修改 AS-path8.修改本地优先 Local-preference9.修改 MED 实验拓扑 实验需求及解法 本实验模拟…

从0开始学习JavaScript--JavaScript 闭包的应用

JavaScript的高级概念中,闭包(closure)常常是一个让人感到困惑但又强大的概念。在这篇文章中,将深入探讨闭包的概念以及它在JavaScript中的各种应用场景。 什么是闭包? 在JavaScript中,闭包是指一个函数能…

LINUX入门篇【11】---进程篇【3】---进程优先级,进程切换,进程调度

前言: 有了前面知识点的铺垫,本篇我们将围绕进程的三个方面来展开,即进程优先级,进程切换以及进程调度的问题,这里的进程调度其实本质就是CPU是如何去调度进程的。 进程优先级: 优先级的概念&#xff1a…

matlab配置

matlab配置 windowslinux挂载安装MATLAB windows 按照这里一步步配置就行( 移动硬盘中软件备份中自取) linux linux配置步骤 挂载 sudo mount -t auto -o loop /media/oyk/Elements/ubuntu/MATLAB/R2017a_glnxa64_dvd1.iso ./matlab/安装MATLAB 挂载完成后,先…

JS之Object.defineProperty方法

给对象添加属性的方法有许多,这次让我为大家介绍一种给对象添加属性的静态方法吧! 语法:Objcet.defineProperty(对象的名称,“添加的键名”,{value:键值}) const obj {name:"张三",age:18}// 我…

MySQL索引使用总结

索引(index) 官方定义:一种提高MySQL查询效率的数据结构 优点:加快查询速度 缺点: 1.维护索引需要消耗数据库资源 2.索引需要占用磁盘空间 3.增删改的时候会影响性能 索引分类 索引和数据库表的存储引擎有关,不同的存储引擎&am…

广州华锐视点:基于VR元宇宙技术开展法律法规常识在线教学,打破地域和时间限制

随着科技的飞速发展,人类社会正逐渐迈向一个全新的时代——元宇宙。元宇宙是一个虚拟的、数字化的世界,它将现实世界与数字世界紧密相连,为人们提供了一个全新的交流、学习和娱乐平台。在这个充满无限可能的元宇宙中,法律知识同样…

docker镜像原理

什么是镜像 容器解决应用开发、测试和部署的问题,而镜像解决应用部署环境问题。镜像是一个只读的容器模板, 打包了应用程序和应用程序所依赖的文件系统以及启动容器的配置文件,是启动容器的基础。镜像所打 包的文件内容就是容器的系统运行环…

迷你洗衣机哪个牌子好又实惠?口碑最好的小型洗衣机

不得不说洗衣机的发明解放了我们的双手,而我们从小到大就有这个意识,贴身衣物不可以和普通的衣服一起丢进去洗衣机一起,而内衣裤上不仅有肉眼看见的污渍还有手上根本无法消灭的细菌,但是有一款专门可以将衣物上的细菌杀除的内衣洗…

界限与不动产测绘乙级申请条件

整理一期关于测绘资质界限与不动产测绘乙级资质的申请要求 测绘资质是由测绘资质主管部门自然资源部制定的 想要了解标准、正规的申请条件,可以到当地省份的政务网搜索测绘资质办理相关标准(例如下图) 1、通用标准 http://gi.mnr.gov.cn/20…

vue3中的setup()函数详解

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue3-setup()函数 目录 setup()函数 1.1 基本使用 1.2 访问 Prop 1.3 Setup的上下文 1.4 与渲…

【古月居《ros入门21讲》学习笔记】16_tf坐标系广播与监听的编程实现

目录 说明: 1. 实现过程(C) 创建功能包(C) 创建tf广播器代码(C) 创建tf监听器代码(C) 配置tf监听器与广播器代码编译规则 编译并运行 编译 运行 2. 实现过程&a…

CCFCSP试题编号:202109-2试题名称:非零段划分

用差分法 #include<iostream> #include<algorithm> #include<cstring> using namespace std;const int N 500000; const int M 10000; int a[N 2 ] { 0 }; int d[M 1] { 0 };int main() {int n;cin >> n;for (int i 1; i < n; i){cin >&g…

泛微E-Office SQL注入漏洞复现

0x01 产品简介 泛微E-Office是一款标准化的协同 OA 办公软件&#xff0c;泛微协同办公产品系列成员之一,实行通用化产品设计&#xff0c;充分贴合企业管理需求&#xff0c;本着简洁易用、高效智能的原则&#xff0c;为企业快速打造移动化、无纸化、数字化的办公平台。 0x02 漏…

数组filter()方法的使用

输入价格后失去焦点就展示符合条件的商品&#xff0c;没有符合条件的商品就弹框提示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…
最新文章