0

我在很多地方的 Java 代码中看到,人们倾向于在原语 int 和 char 之间进行转换。

这是必要的吗?他们不是隐式转换的。
例如,我尝试了这个并且完全得到了我应该得到的。那为什么人们会明确地投射?我错过了什么吗?

char a = 'a';
int index = (int) a;
index = 98;
a = 98;
System.out.println(index);
System.out.println(a);
4

2 回答 2

9

有时人们会为了清楚起见,有时会出于超载的原因,有时会出于无知的原因。

例如:

System.out.println((int) a);

将以不同的方式工作

System.out.println(a);

由于重载决议。但是在您给出的确切代码中,它绝对不是必需的。如果您想确切了解特定开发人员选择编写冗余代码的原因,您需要询问他们...

于 2012-10-20T19:32:17.377 回答
0

在这种情况下进行强制转换消除了歧义,并使代码更易于阅读。

于 2012-10-20T19:32:10.513 回答