如何摆脱 ClassCastException
假设我有 2 个完全不同的用户定义类 A
和 B
。
A a = new A();
B b = new B();
. 。 .
<代码>。 。 .
a = (A) b; //我很确定这会引发 ClassCastException,但如何处理这个问题?
Lets assume i have 2 totally different user-defined classes A
and B
.
A a = new A();
B b = new B();
. . .
. . .
a = (A) b; //I'm pretty sure this raises a ClassCastException, but how to deal with this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能,除非 B 派生自 A。
这就是 ClassCastException 的要点。
但既然 A 和 B 完全不同,为什么要首先转换它们呢?
You can't, unless B derives from A.
That's the point of a ClassCastException.
But since A and B are totally different, why would you want to convert them in the first place?
在分配变量之前进行测试。
在 java 中:
在 C# 中:
但正如有人提到的,如果你不从 c 派生类 a 和 b,我看不出这个作业有多大好处。
Testing before assign the variable.
In java:
In C#:
But as someone mentioned if you do not derive the class a and b from c I cant see to much benefit of this assignment.