您的位置:首页 > 编程语言 > Java开发

Java各种类型转换

2018-03-24 17:48 405 查看

背景

java这个类型转换不好记忆,写个笔记加深记忆。

double、float互转

double转float

看代码

Object a = 1.0;
float b = (Float) a;
System.out.println(b);


报错 > java.lang.Double cannot be cast to java.lang.Float

假如有这样一个场景,调用接口返回内容是:

{

“name”:”lucy”,

“price”:1.1

}

通过String转map,获取price的值得通过map.get(“price”)这种方式;于是想通过强转为float

(float)map.get(price);


这样也报错 > java.lang.Double cannot be cast to java.lang.Float , 可以看出java默认小数点数字的对象为Double类型。

这样转才是正确的:

Object a = 1.1;
float b = ((Double) a).floatValue();


double a = 1.1;
float b = ((Double)a).floatValue();


Double a = 1.1;
float b = a.floatValue();


float转double

由Float强转

Object a = 1.1f;
double b = ((Float) a).doubleValue();


可以理解为double类型的数值是包含(大于)float数据类型,可以强转;

float c = (float) 2.2;
double d = c;
float e = 3.3f;
double f = e;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息