可以将数组索引设为char吗?

时间:2019-04-06 06:37:21

标签: java arrays char

count [str1.charAt(i)]

charAt()返回char类型。 char类型如何用作数组中的索引

1 个答案:

答案 0 :(得分:2)

是的!有可能的。 这是Java的基本规则。 我们可以将char值分配给变量的int类型。现在,该int类型变量将不再存储字符,而是其ASCII值。参见示例

class Test{
    public static void main(String[] args){
        int num='a';
        System.out.println(num);//97
    }
}

您可以看到我已将'a'分配给int类型的变量。

在相同情况下,每当我们将char作为索引值传递时,总是会传递ASCII值。我们知道,97是a的ASCII值。

因此,如果我们通过传递'a'访问数组,则将在内部调用数组的第97个索引。

int num='a';
System.out.println(args[num]);//AIOOBE 

我们在这里遇到了异常

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:97         在Test.main(Test.java:4)

程序可以很好地编译,但是由于args现在是空数组,因此我们在运行时遇到了异常。