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

Java char到字节转换

穆乐逸
2023-03-14
问题内容

我一直在测试字符转换,并经历了以下过程:

public class Test {
    public static void main(String a[]) {
        final byte b1 = 1;
        byte b2 = 1;
        char c = 2;

        c = b1; // 1- Working fine
        c = b2; // 2 -Compilation error
    }
}

任何人都可以解释为什么当我在字节中添加final后在1中可以正常工作吗?


问题答案:

当变量final为时,编译器将自动内联其值为1的值。该值可表示为char,即:

c = b1;

相当于

c = 1;

实际上,根据本节中有关final变量的部分,b1将其视为常量:

原始类型或类型的变量String,即final,用一个编译时间常量表达式(§15.28)初始化,被称为 恒定变量



 类似资料:
  • 我一直在测试char casting,我经历了以下几点: 有人能解释为什么我在1中给字节添加了一个final时它工作得很好吗?

  • 问题内容: 因此,有一天,当我在Wikipedia页面上查看Java字节码时,遇到了以下示例: 考虑以下Java代码: 假设将上述代码放在方法中,Java编译器可能会将上述Java代码转换为字节代码,如下所示: 而且我注意到,很少有goto出现过几次,这在检查JVM规范时是有效的。 我的问题是为什么? GOTO在Java中是一个保留的但无法使用的关键字,因此为什么在编写和编译Java代码时似乎会使

  • 我正在制作一个Android应用程序,它可以与蓝牙设备进行通信。我正在为选定的特征写一条特定的信息,如下所示: 我的转换函数如下所示: 我试图弄清楚为什么在这种情况下,我的转换输出是这样的: D/上传数据集:消息:�������������������� 这很奇怪,因为当我使用相同的转换函数来转换作为蓝牙通知接收到的值时,它工作得非常好。欢迎提出问题所在的任何建议

  • 我遇到了这样一个java字符串,其中以下内容是错误的: 我想这是因为字符串构造函数默认将主体字节[]的编码视为UTF-8,我不是100%确定。我如何能够将此字符串存储在字节[]中,并能够稍后将其转换回来?我想我需要能够确定字节[]的编码方式。我该怎么做呢? 一些上下文:我需要字节[],以便压缩数据,将其存储在数据库中,然后解压缩并将未压缩的字节[]转换回原始字符串。这个字符串最初来自某个下载了网页

  • 我在将JSON对象转换为字节时遇到了一个问题。我需要这样的东西: 我将感激任何帮助。提前道谢。

  • 问题内容: 在Java中,我们可以做 但是为什么我们不能将相同的参数传递给接受函数 它给出以下错误 PS:可能是一个愚蠢的问题,我想我需要再次修改基础知识。 谢谢。 问题答案: 硬编码的初始化值在Java中有些特殊-假定它们对要初始化的变量的类型具有强制性。本质上,第一段代码实际上是这样的: 如果你这样做了… …您不会收到该错误,但如果不这样做,则默认情况下将创建一个,并且不会自动将其强制转换。