当我编写诸如 short a = 1;a=a (short)1; 之类的代码时,我对错误感到困惑[关闭]
Posted
技术标签:
【中文标题】当我编写诸如 short a = 1;a=a (short)1; 之类的代码时,我对错误感到困惑[关闭]【英文标题】:I confused with the error when i wrote the code like short a = 1;a=a (short)1; [closed] 【发布时间】:2013-10-19 13:44:47 【问题描述】:今天,当我编写一些 java 代码时,它总是给我红色的错误提示。 流动的就是代码:
short a = 1;a=a + (short)1;
我想一定是ClassCastException,但我无法理解原因,你能帮我一个忙吗?谢谢!
【问题讨论】:
那么你的IDE给你一个错误,你想让我们猜测错误是什么?你的 IDE 说了算! 是的!我想知道其中的深层原因。 【参考方案1】:您可以更好地尝试:
a= (short)1;
而不是
a=a (short)1;
ClassCastException 是:-
抛出以指示代码已尝试将对象强制转换为 它不是实例的子类。
尽管在您的代码中,即使我们按照我的建议进行更改,您如何接收 ClassCastException 也是没有意义的。
在您的代码中,您将a
设为short
并使用值1
对其进行初始化。现在稍后为什么要将值a
转换为short
,因为它已经是short
?
ClassCastException 的例子可能是这样的:-
Object i = Integer.valueOf(1);
String s = (String)i;
【讨论】:
【参考方案2】:a=a (short)1;
语法错误。
正确的语法应该是
a= (short)1;
【讨论】:
非常感谢!我知道这样写是错误的语法,但我只想知道原因。你能帮我吗?以上是关于当我编写诸如 short a = 1;a=a (short)1; 之类的代码时,我对错误感到困惑[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Life is short,you need python!
谁能帮忙编写一个声明java不同的数据类型变量的程序唔···