是否可以从十六进制值数组初始化字符串,如 C 风格?
unsigned char[] charArray = {0x41, 0x42, 0x43};
为什么不能做这样的事情?
String charArray = new String((byte[]) {0x41, 0x42, 0x43});
最佳答案
这是完全有可能的,您可以通过多种方式做到这一点。
使用 unicode 转义:
String string = "\u0041\u0042\u0043";
创建和使用字节数组:
String string = new String(new byte[] {(byte) 0x41, (byte) 0x42, (byte) 0x43});
你要记住的主要事情是字符串不是某种东西的数组,它是一个单独的对象。因此,它应该作为字符串文字创建,或者使用其中一个构造函数创建。
关于来自十六进制数组的 Java 初始化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9624638/