当前位置: 首页 > 面试题库 >

如何指定一个常数是字节还是短?

伍耀
2023-03-14
问题内容

对于长数据类型,我可以在L后面加上数字以使编译器知道它长。字节和短怎么样?

作为动机,以下产生类型不匹配错误:

List<Short> a = Arrays.asList(1, 2, 3, 4);

问题答案:

您实际上在谈论的是整数 文字1)与长 文字1L)。实际上,在Java中没有短或字节字面量。但它 通常
并不重要,因为从整数常量的类型的隐式转换byteshortchar。从而:

final byte one = 1;  // no typecast required.

仅当文字在所需范围内时,才允许隐式转换。如果不是,则需要类型转换。例如

final byte minusOne = (byte) 255;  // the true range of byte is -128 .. +127

在其他情况下,需要显式转换;例如,消除方法重载的歧义,或在表达式中强制执行特定的解释。在这种情况下,您需要使用强制转换进行转换。

您的示例是其中的另一种情况。

但最重要的是,没有用于表达byteshort文字的Java语法。



 类似资料:
  • 如何在OpenAPI/Swagger中定义一个字段是可选的或必需的,缺省的是什么?

  • 注意:有关选项的更多用途,请参见java-启动JVM时的Xms和Xmx参数是什么?。

  • 问题内容: 我有一个形式的edittext,当用户将文本输入到edittext中时,我希望程序可以检测到哪种语言插入了edittext。 有没有办法确定字符串是英语还是波斯语? 我找到了这个阿拉伯语代码 但是如何更改波斯语的此代码? 问题答案: 波斯语(也适用于乌尔都语)字母的所有可能的Unicode范围: 0x0600至0x06FF 0xFB50至0xFDFF 0xFE70至0xFEFF 因此,

  • 问题内容: 有没有办法确定字符串是英语还是阿拉伯语? 问题答案: 这是我刚刚尝试过的简单逻辑: 当且仅当在文本中找到阿拉伯语unicode代码点时,它才将文本声明为阿拉伯语。您可以增强此逻辑,使其更适合您的需求。 范围0600-06E0是阿拉伯字符和符号的代码点范围(请参见Unicode表)

  • 我目前正在配置kafka连接(与debezium/连接docker映像),我成功地使用环境变量将其连接到Kafka: 现在我必须创建一个源连接器(),我希望kafka connect从源获取的数据在kafka主题中接收。 由于数据库连接器的 json 配置中没有这样的配置,我必须在哪里设置接收器的 kafka 配置? 我必须创造一个连接Kafka主题的接收器吗?如果是,我们在哪里指定这是一个接收器