gpt4 book ai didi

java - 初始化字符数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:27:50 25 4
gpt4 key购买 nike

我是 Java 的新手,我对我的数组初始化程序感到震惊,因为它不工作并且包含一些垃圾。这就是我正在做的:

char[] expArray = new char[expEv.length];   //expEv.length is int - expEv is another array
//I have tried all following but not working

expArray = {'\0'}; // error i get: Array constants can only be used in initializers
expArray = {'',};
expArray = {'\0'};

System.out.println("array value: " + expArray); // prints " array value: [C@1cd761a "

编辑: 我也尝试过使用 char[] expArray = new char[expEv.length] {'\0'}; 但这不起作用作为

请帮我解决这个问题并解释上下文的数组初始化。

最佳答案

这些人给你的建议是不正确的,因为我打赌你仍然想创建一个可变大小的数组。事实上,你目前所做的是 100% 好的。

Java 自动初始化未显式设置的变量。在您的情况下,数组的每个值都被初始化为空字符。 Here是每个变量类型将被初始化的内容。

这样打印时出现乱码的唯一原因是 Java 内置的 toString() 没有按照您的预期进行。以下是内置 toString() 实际返回的内容:

getClass().getName() + '@' + Integer.toHexString(hashCode()) 

如果你真的想打印数组的值,那么你需要做这样的事情:

System.out.println(Arrays.toString(expArray ));

关于java - 初始化字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com