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

Java中数据转换以及字符串的“+”操作

隐式转换(自动类型转换)

较小范围的数据类型转成较大范围的数据类型

强制转换(显式转换)

数据范围大的数据类型转换为数据范围小的数据类型

基本数据类型之间的转换

当需要将一个较大的数据类型(如floatdouble)转换为一个较小的数据类型(如intbyte)时,由于精度的损失,Java要求显式强制转换。例如:

double d = 9.78;

int i = (int) d; // 强制转换,结果是9(小数部分被截断)

2. 引用类型之间的转换

在对象类型的转换中,可以将子类对象引用赋值给父类引用(隐式),但如果想要将父类引用赋值给子类引用,则需要进行强制转换。强制转换需要确保实际对象是目标类型的实例,否则会抛出

ClassCastException。


class Animal {} 
class Dog extends Animal {} 
Animal animal = new Dog(); // 隐式转换 
Dog dog = (Dog) animal; // 强制转换

 3. 注意事项

  • 类型安全性:在进行强制转换时,必须确保对象的实际类型与转换后的类型相符。例如,将一个Animal对象强制转换为Dog类型,如果该对象实际上是Cat,则会导致运行时错误。
  • 使用instanceof检查:为了避免ClassCastException,可以使用instanceof运算符来检查一个对象是否是某个类型的实例:
if (animal instanceof Dog) { // 判断animal是否可以强转为Dog
Dog dog = (Dog) animal; // 安全的强制转换
}

字符串的“+”操作

只要是运算式里面有字符串,那么“+”操作就是拼接,得到的就是字符串

"123" + 123 --> 得到123123

// 连续加:从左到右依次运算
1 + 99 + "hello world" + 1 + 2 --> 得到"100hello world12"

字符相加 

char a = 'A';  
char b = 'B';  
int result = a + b; // result 是 130(65 + 66)
char a = 'A';  
char b = 1; // b 表示增加的偏移量  
char result = (char) (a + b); // result 是 'B'


http://www.kler.cn/news/330242.html

相关文章:

  • HR面试篇
  • 深入解析 CSS calc():实现动态布局的终极利器
  • 5.3 克拉默法则、逆矩阵和体积
  • 最佳ThreeJS实践 · 实现赛博朋克风格的三维图像气泡效果
  • 一个IP可以支持几种网络协议?
  • 高架快速路上下匝道与平交口之间的设计探讨
  • OpenCV C++霍夫圆查找
  • Unity 编辑器多开
  • 前端框架Angular 详细学习要点
  • 性能测试的方式有哪些
  • 【评测大语言模型(LLM)的效果】
  • 实战OpenCV之边缘检测
  • CentOS 系统中的文件挂载 U 盘
  • ComfyUI自动提取lora触发词
  • 物联网网络中集中式与分布式SDN环境的比较分析
  • FPGA实现PCIE视频采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
  • JS中Object和Array的相互转换:深入全面讲解
  • STM32正交编码器的结构与工作原理
  • 数字化采购管理革新:全过程数字化采购管理平台的架构与实施
  • vue中子组件怎么修改父组件中的css样式的width值