java转换为字符串_Java ------- 数字转换为 字符串

本文详细介绍了在Java中如何将double类型转换为String的三种常见方法:Double.toString(),String.valueOf()以及字符串连接操作。同时,文章提到了这些方法在其他编程语言中的通用性,并探讨了它们的底层实现。通过对源码的简单查看,揭示了valueOf()方法实际上调用了toString()。此外,还提供了一个示例代码来演示这些转换方法的使用。
摘要由CSDN通过智能技术生成

学习相同的内容每次看都有新的发现,本文主要介绍java  中的转换,但是好多的方法在不同的语言中是通用的

不知道大家有没有深入的学习过Java 的源码,或看看Java的 API 帮助手册

先解决问题,double类型的数字如何转换为 String类型

三种方式:第一种用的比较多

//第一种方式通过ToString() 方法, Double 就是一个包装类

String s1 = Double.toString(dou1);

//第二种方式是通过valueof() 方法, 本质上还是调用 toString() 方法

String s2 = String.valueOf(dou1);

//第三种没有借助包装类

String s3 =""+dou1;

运行代码:获取 类型的的方法是自己写的不是Java源码中自带的

a6e145a147fbdaeda505706323fcbbb1.png

所有代码:

packagecom.obge.contr;public classChangeNtoS {public static voidmain(String[] args) {//定义一个变量并赋值,,变量和常量:一个可以变化,一个不能变换,使用final定义的就不能变换

double dou1 = 3.222;int i1= 22;float f1= 2.1f;byte b1 =1;long l1 =1;short st1 =22;//将double 类型转换为String 类型 知道 包装类和 基本数据类型,Java 5 增加了自动装箱、拆箱机制,//第一种方式通过ToString() 方法, Double 就是一个包装类

String s1 =Double.toString(dou1);

String sf1=Float.toString(f1);

String si1=Integer.toString(i1);

String sb1=Byte.toString(b1);

String sl1=Long.toString(l1);

String sst1=Short.toString(st1);//第二种方式是通过valueof() 方法, 本质上还是调用 toString() 方法

String s2 =String.valueOf(dou1);//第三种没有借助包装类

String s3 =""+dou1;

System.out.println("转换前:");

System.out.println(dou1+"的类型是:"+getType(dou1));

System.out.println("转换后:");

System.out.println(s1+"的类型是:"+getType(s1));

System.out.println(s2+"的类型是:"+getType(s2));

System.out.println(s3+"的类型是:"+getType(s3));

System.out.println(i1+"转换前的类型是:"+getType(i1)+"转换后的类型是:"+getType(si1));

}//获取变量类型方法

public staticString getType(Object o){//调用该方法返回变量类型 getClass()方法

returno.getClass().toString();

}

}

2、观看源码,看看调用的事什么方法

按住ctrl 键 点击toString 进入方法中,可以直接点击去

66f9796aaf02a9ae94190772023bea2f.png

declaration 宣告说明       implementation 实现

可以看到,toString  是Double 类的方法,他是一个静态方法,更深处的代码就需要引用jdk 的源码了先了解了解

ce6bf9fe649804cb49662be21c2f14a0.png

点击     valueof 中可以看出 这个是String类的方法,本质上还是调用 Double    类的 toString    方法

6e9d7ecfbf6b59edddc94204c44abd0f.png

Integer  的toString 方法略有不同,进行了判断

ce2f16dbe2e29b0e5d23d99aa6492b22.png

byte  借助integer

41251a09fd4c946f694d4302dd86ee66.png

可以自己试试 :

float 和double 差不多 ,long和int 差不多,byte 和short 类型差不多借助integer

这个图挺好

61d9f11bea6613f8a1066b52a02dc90a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值