当我编写诸如 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不同的数据类型变量的程序唔···

结构体-内存对齐

java String类型 “你好” 转 short[]类型 麻烦快

第五次作业