我可以通过将L附加到值来创建一个字面意义的长整型;为什么不能以类似的方式创建短整型或字节的字面量? 为什么需要使用带有转换的int字面量?
如果答案是“因为C中没有short字面量”,那么为什么C中没有short字面量呢?
这实际上并不会对我的生活产生任何有意义的影响;写(short)0而不是0S或其他东西很容易。 但是这种不一致性让我很好奇;这是你在深夜时感到困扰的事情之一。 某个时候,某个人做出了一个设计决定,使得可以为一些原始类型输入字面量,但不能为所有原始类型输入字面量。 为什么?
如果答案是“因为C中没有short字面量”,那么为什么C中没有short字面量呢?
这实际上并不会对我的生活产生任何有意义的影响;写(short)0而不是0S或其他东西很容易。 但是这种不一致性让我很好奇;这是你在深夜时感到困扰的事情之一。 某个时候,某个人做出了一个设计决定,使得可以为一些原始类型输入字面量,但不能为所有原始类型输入字面量。 为什么?
short val = (short)(val + 10)
只是很烦人,尽管 Java 也必须允许short
的加法才能起作用。 - mjaggard