Java类型转换知识点

  • 基本类型:从左到右转换规则表
char byte short int long float double
char
byte
short
int
long
float
double
  • String 转 Integer / int
Integer.parseInt()  return a primitive int.
Integer.valueOf()  returns an new Integer() object.
NumberFormatException: string does not contain a parsable integer
  • Integer / int 转 String
Integer.toString(int)
String.valueOf(int)
new Integer(int).toString()
String.format()
StringBuffer or StringBuilder

强制类型转换

基本类型:

  • 长整型转换为短整形,是直接截取低位的值,不保留符号位
  • 短整形可以直接转换为长整型,高位补0
  • 举例:int是32位的,short是int的低16位,char是int的最低8位
@Test
void should_truncate() {
   final int negativeInteger = 0x7fff_ffff;
   final short negativeSmallInteger = (short) negativeInteger;
 
   assertTrue(negativeInteger > 0);
   assertTrue(negativeSmallInteger < 0);
}

引用类型:

  • 子类可以隐示转换成父类
  • 父类可以强制转换成子类,语法没有错误,但是运行时有错
  • 举例:通过转换成Object,再进行转换就不会报错:
Object value = "string";
String values = (String) new Object(); 
Number ->Object -> Integer ( Integer extends Number)
  • 只有在同一继承链上才可以转换,否则不能转换
  • 举例:Integer 和 Short 不能进行转换,因为 Integer 继承 Number,Short 继承Number,Integer 和 Short 不在同一条继承链上
Number numberValue = 1;
Object value = numberValue;
Integer integerValue = (Integer) value;

int 转 string 参考
Convert using Integer.toString(int)
Convert using String.valueOf(int)
Convert using new Integer(int).toString()
Convert using String.format()
Convert using DecimalFormat
Convert using StringBuffer or StringBuilder

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,670评论 1 44
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,949评论 18 399
  • 1、瑜伽老师的目标 “我的目标就是让你们几个能去任何一个瑜伽教室踢馆” 这是去年8月份瑜伽老师说的话,狂吗?不狂,...
    An_An阅读 257评论 0 0
  • “All work and no play makes jack a dull boy.” This expres...
    Jenna_King阅读 541评论 0 0
  • 在生活中,有不少鼻炎患者都比较苦恼,因为鼻炎严重地影响了他们的生活质量,其实大部分是因为人们不在意平时的小细节,导...
    参漮苓a阅读 510评论 0 0

友情链接更多精彩内容