这是问题所在。这段代码:
String a = "0000";
System.out.println(a);
char[] b = a.toCharArray();
System.out.println(b);
退货
0000
0000
但是这段代码:
String a = "0000";
System.out.println("String a: " + a);
char[] b = a.toCharArray();
System.out.println("char[] b: " + b);
退货
字符串a:0000
char [] b:[C @ 56e5b723
到底是怎么回事?似乎应该有一个足够简单的解决方案,但我似乎无法弄清楚。
当你说
System.out.println(b);
这导致了一个呼叫print(char[] s)
,然后println()
JavaDoc print(char[] s)
表示:
打印一个字符数组。这些字符将根据平台的默认字符编码转换为字节,并且这些字节将完全按照write(int)方法的方式写入。
因此它执行逐字节打印。
当你说
System.out.println("char[] b: " + b);
它会导致对的调用print(String)
,因此您实际要做的是将String
an 追加到对- Object
进行调用的an
toString()
上,Object
这与Object
默认情况下一样,对于an Array
,会打印引用的值(内存地址)。
您可以这样做:
System.out.println("char[] b: " + new String(b));
请注意,这在某种意义上是“错误的”,即您不介意编码并且正在使用系统默认值。尽早了解编码。
问题内容: 我对此感到困惑,我需要一些新鲜的眼睛,我不确定为什么这段代码会这样做。 输出是直到最后一个数字(0xFC)返回-4为止的所有内容,我知道它是一个十六进制值,但是如果我对252的十进制值也一样,它也会给我一个负数。我希望这只是一个简单的解决方案,我看不到它。 提前谢谢。 问题答案: 字符串到char数组很简单 您能否再解释一下您要做什么? 更新 如果我理解您的新评论,则可以使用字节数组,
问题内容: 我在工作的技术测试中遇到了这个问题。给出以下代码示例: 输出为65534。 此行为仅显示负值。0和正数产生相同的值,表示在SOP中输入的那个。此处的字节无关紧要;我尝试过没有它。 所以我的问题是:这到底是怎么回事? 问题答案: 在您了解这里发生的事情之前,我们需要达成一些先决条件。了解以下要点后,剩下的就是简单的推论: JVM中的所有原始类型都表示为一系列位。的类型是由32位,所表示和
问题内容: 如何发送带有HTTP Get请求的数组? 我正在使用GWT客户端发送请求。 问题答案: 因为尽管BalusC的回答被标记为正确,但它并不完全正确。 你必须像这样向foo添加查询,添加“ []”:
我试图使用FlinkKafkaProducer010生成元素,但是当我打开消费者控制台窗口时,元素似乎出现了故障。 我使用kafka-topics.bat创建了主题 消费者是使用:kafka console consumer创建的。蝙蝠——zookeeper本地主机:2181——主题mytopic 我使用的Kafka制作人代码是: 当我查看Kafka日志文件时,我看到一个. log文件,其中的元素
问题内容: 我正在尝试与Swift的旧C终端应用程序进行交互。我已经成功集成了源代码,并将标头从C桥接到Swift。该代码从Xcode 6.3 beta编译并运行。我已将终端应用程序的主要入口点重命名为: 不过,我正在努力将Swift的参数传递给此C函数。我的挑战是将参数转换为正确的格式。Swift的典型输入如下所示: 我试过弄乱“ cStringUsingEncoding(NSUTF8Strin
问题内容: 我正在尝试将字符串转换为整数数组,以便随后可以对它们执行数学运算。我在以下代码方面遇到麻烦: 这给了我一个“无法转换的类型”错误,要求:int []发现:char我还尝试了其他一些方法,例如Character.getNumericValue,并且直接对其进行了直接分配,而没有进行任何修改。在那种情况下,无论我使用哪种转换方法或(!)字符串的实际值是什么,它总是输出相同的垃圾“ [I @