JAVA如何进行强制类型转换
展开全部
1.
转型有两种:
向上转型和向下转型(强制转型)
2.
两种分别如下:
1.
一种是向上转型
1.
对于基础数据类型
,
可以自动转型
,比如:
int
a
=
10;
long
b
=
a;
这里就是把int型转成了long型
,
因为
long范围比int大
,
这样的转型不会有任何影响
,
所以可以自动转型
2.
又比如
A
a
=
new
B();
其中
A
是B
的父类
,
这也是多态
,
就是父类的对象指向子类的引用
,
你调用a对象
,
实际上是B的类
,
但是B继承A
,
拥有A的一切属性和方法
(不谈复写)
3.
第二种是向下转型
,
也就是强制
这种需要强转
,
比如
long
a
=
10
;
int
b
=
(int)
a;
通过
(int)可以强制转型
,
但是这样会丢失精度
,
比如a如果超过了b的范围
,
那么强转成int型,
只会等于int的最大值
又比如
:
B
b
=
new
A();
这样是不行的
,
需要有中间途径
,
比如
A
a
=
new
A();
Object
obj
=
a;
B
b
=
(A)
a;
而这种强转
,
又有要求
,
必须是同类型
,
也就是说
A
就是B
,
不然会报错.
4.
不同类型之间如果要转型
,
需要通过中间途径
,
比如JSON
,
将A转成JSON串
,
然后再转换为B
转型有两种:
向上转型和向下转型(强制转型)
2.
两种分别如下:
1.
一种是向上转型
1.
对于基础数据类型
,
可以自动转型
,比如:
int
a
=
10;
long
b
=
a;
这里就是把int型转成了long型
,
因为
long范围比int大
,
这样的转型不会有任何影响
,
所以可以自动转型
2.
又比如
A
a
=
new
B();
其中
A
是B
的父类
,
这也是多态
,
就是父类的对象指向子类的引用
,
你调用a对象
,
实际上是B的类
,
但是B继承A
,
拥有A的一切属性和方法
(不谈复写)
3.
第二种是向下转型
,
也就是强制
这种需要强转
,
比如
long
a
=
10
;
int
b
=
(int)
a;
通过
(int)可以强制转型
,
但是这样会丢失精度
,
比如a如果超过了b的范围
,
那么强转成int型,
只会等于int的最大值
又比如
:
B
b
=
new
A();
这样是不行的
,
需要有中间途径
,
比如
A
a
=
new
A();
Object
obj
=
a;
B
b
=
(A)
a;
而这种强转
,
又有要求
,
必须是同类型
,
也就是说
A
就是B
,
不然会报错.
4.
不同类型之间如果要转型
,
需要通过中间途径
,
比如JSON
,
将A转成JSON串
,
然后再转换为B
展开全部
强制类型转换。。又叫造型。。
简单地说。。就是把父类型转换为子类型。。
举个例子。。比如原来定义了两个类型。。FatherClass和SonClass。。然后构造了一个SonClass类型的对象。。用一个FatherClass类型的变量father引用了。。嗯。。就像这样。。
FatherClass
father
=
new
SonClass();
那么,需要将这个对象的类型还原的时候,就可以用这个表达式。
SonClass
son
=
(SonClass)father;
具体你要转换什么类型。。没说出来哦。。
不过我也不一定会。。呵呵。。我也只是初学者。。
希望我的回答能帮到你一点。。
简单地说。。就是把父类型转换为子类型。。
举个例子。。比如原来定义了两个类型。。FatherClass和SonClass。。然后构造了一个SonClass类型的对象。。用一个FatherClass类型的变量father引用了。。嗯。。就像这样。。
FatherClass
father
=
new
SonClass();
那么,需要将这个对象的类型还原的时候,就可以用这个表达式。
SonClass
son
=
(SonClass)father;
具体你要转换什么类型。。没说出来哦。。
不过我也不一定会。。呵呵。。我也只是初学者。。
希望我的回答能帮到你一点。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接通过参数前面加上要转行的类型的形式实现。
举例:
int
i
=97;
char
c
=
(char)i;
system.out.print(c);
输出结果:a。
备注:并不是所有的类型都可以强制转换的,所有在开发过程中要遵循对象转换规则(相关类型才可以转换)。
举例:
int
i
=97;
char
c
=
(char)i;
system.out.print(c);
输出结果:a。
备注:并不是所有的类型都可以强制转换的,所有在开发过程中要遵循对象转换规则(相关类型才可以转换)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try
{
a=Integer.parseInt(s);
}
catch(NumberFormatException
e)
{
System.out.println("你的输入有误,请重新输入数字!");
}
这样就行了。
{
a=Integer.parseInt(s);
}
catch(NumberFormatException
e)
{
System.out.println("你的输入有误,请重新输入数字!");
}
这样就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
shang.getText()得到的不是整型值,trim()一下呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询